diff options
| author | skullY <[email protected]> | 2019-08-30 11:19:03 -0700 | 
|---|---|---|
| committer | skullydazed <[email protected]> | 2019-08-30 15:01:52 -0700 | 
| commit | b624f32f944acdc59dcb130674c09090c5c404cb (patch) | |
| tree | bc13adbba137d122d9a2c2fb2fafcbb08ac10e25 /quantum/visualizer/visualizer.c | |
| parent | 61af76a10d00aba185b8338604171de490a13e3b (diff) | |
| download | qmk_firmware-b624f32f944acdc59dcb130674c09090c5c404cb.tar.gz qmk_firmware-b624f32f944acdc59dcb130674c09090c5c404cb.zip | |
clang-format changes
Diffstat (limited to 'quantum/visualizer/visualizer.c')
| -rw-r--r-- | quantum/visualizer/visualizer.c | 256 | 
1 files changed, 116 insertions, 140 deletions
| diff --git a/quantum/visualizer/visualizer.c b/quantum/visualizer/visualizer.c index 516cf2a847..3f182e74d8 100644 --- a/quantum/visualizer/visualizer.c +++ b/quantum/visualizer/visualizer.c @@ -26,26 +26,26 @@ SOFTWARE.  #include "visualizer.h"  #include <string.h>  #ifdef PROTOCOL_CHIBIOS -#include "ch.h" +#    include "ch.h"  #endif  #include "gfx.h"  #ifdef LCD_BACKLIGHT_ENABLE -#include "lcd_backlight.h" +#    include "lcd_backlight.h"  #endif  //#define DEBUG_VISUALIZER  #ifdef DEBUG_VISUALIZER -#include "debug.h" +#    include "debug.h"  #else -#include "nodebug.h" +#    include "nodebug.h"  #endif  #ifdef SERIAL_LINK_ENABLE -#include "serial_link/protocol/transport.h" -#include "serial_link/system/serial_link.h" +#    include "serial_link/protocol/transport.h" +#    include "serial_link/system/serial_link.h"  #endif  #include "action_util.h" @@ -53,36 +53,31 @@ SOFTWARE.  // Define this in config.h  #ifndef VISUALIZER_THREAD_PRIORITY  // The visualizer needs gfx thread priorities -#define VISUALIZER_THREAD_PRIORITY (NORMAL_PRIORITY - 2) +#    define VISUALIZER_THREAD_PRIORITY (NORMAL_PRIORITY - 2)  #endif -static visualizer_keyboard_status_t current_status = { -    .layer = 0xFFFFFFFF, -    .default_layer = 0xFFFFFFFF, -    .leds = 0xFFFFFFFF, +static visualizer_keyboard_status_t current_status = {.layer         = 0xFFFFFFFF, +                                                      .default_layer = 0xFFFFFFFF, +                                                      .leds          = 0xFFFFFFFF,  #ifdef BACKLIGHT_ENABLE -    .backlight_level = 0, +                                                      .backlight_level = 0,  #endif -    .mods = 0xFF, -    .suspended = false, +                                                      .mods      = 0xFF, +                                                      .suspended = false,  #ifdef VISUALIZER_USER_DATA_SIZE -    .user_data = {0} +                                                      .user_data = {0}  #endif  };  static bool same_status(visualizer_keyboard_status_t* status1, visualizer_keyboard_status_t* status2) { -    return status1->layer == status2->layer && -        status1->default_layer == status2->default_layer && -        status1->mods == status2->mods && -        status1->leds == status2->leds && -        status1->suspended == status2->suspended +    return status1->layer == status2->layer && status1->default_layer == status2->default_layer && status1->mods == status2->mods && status1->leds == status2->leds && status1->suspended == status2->suspended  #ifdef BACKLIGHT_ENABLE -        && status1->backlight_level == status2->backlight_level +           && status1->backlight_level == status2->backlight_level  #endif  #ifdef VISUALIZER_USER_DATA_SIZE -        && memcmp(status1->user_data, status2->user_data, VISUALIZER_USER_DATA_SIZE) == 0 +           && memcmp(status1->user_data, status2->user_data, VISUALIZER_USER_DATA_SIZE) == 0  #endif -    ; +        ;  }  static bool visualizer_enabled = false; @@ -107,44 +102,38 @@ GDisplay* LCD_DISPLAY = 0;  GDisplay* LED_DISPLAY = 0;  #ifdef LCD_DISPLAY_NUMBER -__attribute__((weak)) -GDisplay* get_lcd_display(void) { -    return gdispGetDisplay(LCD_DISPLAY_NUMBER); -} +__attribute__((weak)) GDisplay* get_lcd_display(void) { return gdispGetDisplay(LCD_DISPLAY_NUMBER); }  #endif  #ifdef LED_DISPLAY_NUMBER -__attribute__((weak)) -GDisplay* get_led_display(void) { -    return gdispGetDisplay(LED_DISPLAY_NUMBER); -} +__attribute__((weak)) GDisplay* get_led_display(void) { return gdispGetDisplay(LED_DISPLAY_NUMBER); }  #endif  void start_keyframe_animation(keyframe_animation_t* animation) { -    animation->current_frame = -1; +    animation->current_frame      = -1;      animation->time_left_in_frame = 0; -    animation->need_update = true; -    int free_index = -1; -    for (int i=0;i<MAX_SIMULTANEOUS_ANIMATIONS;i++) { +    animation->need_update        = true; +    int free_index                = -1; +    for (int i = 0; i < MAX_SIMULTANEOUS_ANIMATIONS; i++) {          if (animations[i] == animation) {              return;          }          if (free_index == -1 && animations[i] == NULL) { -           free_index=i; +            free_index = i;          }      } -    if (free_index!=-1) { +    if (free_index != -1) {          animations[free_index] = animation;      }  }  void stop_keyframe_animation(keyframe_animation_t* animation) { -    animation->current_frame = animation->num_frames; -    animation->time_left_in_frame = 0; -    animation->need_update = true; +    animation->current_frame         = animation->num_frames; +    animation->time_left_in_frame    = 0; +    animation->need_update           = true;      animation->first_update_of_frame = false; -    animation->last_update_of_frame = false; -    for (int i=0;i<MAX_SIMULTANEOUS_ANIMATIONS;i++) { +    animation->last_update_of_frame  = false; +    for (int i = 0; i < MAX_SIMULTANEOUS_ANIMATIONS; i++) {          if (animations[i] == animation) {              animations[i] = NULL;              return; @@ -153,21 +142,21 @@ void stop_keyframe_animation(keyframe_animation_t* animation) {  }  void stop_all_keyframe_animations(void) { -    for (int i=0;i<MAX_SIMULTANEOUS_ANIMATIONS;i++) { +    for (int i = 0; i < MAX_SIMULTANEOUS_ANIMATIONS; i++) {          if (animations[i]) { -            animations[i]->current_frame = animations[i]->num_frames; -            animations[i]->time_left_in_frame = 0; -            animations[i]->need_update = true; +            animations[i]->current_frame         = animations[i]->num_frames; +            animations[i]->time_left_in_frame    = 0; +            animations[i]->need_update           = true;              animations[i]->first_update_of_frame = false; -            animations[i]->last_update_of_frame = false; -            animations[i] = NULL; +            animations[i]->last_update_of_frame  = false; +            animations[i]                        = NULL;          }      }  }  static uint8_t get_num_running_animations(void) {      uint8_t count = 0; -    for (int i=0;i<MAX_SIMULTANEOUS_ANIMATIONS;i++) { +    for (int i = 0; i < MAX_SIMULTANEOUS_ANIMATIONS; i++) {          count += animations[i] ? 1 : 0;      }      return count; @@ -175,46 +164,44 @@ static uint8_t get_num_running_animations(void) {  static bool update_keyframe_animation(keyframe_animation_t* animation, visualizer_state_t* state, systemticks_t delta, systemticks_t* sleep_time) {      // TODO: Clean up this messy code -    dprintf("Animation frame%d, left %d, delta %d\n", animation->current_frame, -            animation->time_left_in_frame, delta); +    dprintf("Animation frame%d, left %d, delta %d\n", animation->current_frame, animation->time_left_in_frame, delta);      if (animation->current_frame == animation->num_frames) {          animation->need_update = false;          return false;      }      if (animation->current_frame == -1) { -       animation->current_frame = 0; -       animation->time_left_in_frame = animation->frame_lengths[0]; -       animation->need_update = true; -       animation->first_update_of_frame = true; +        animation->current_frame         = 0; +        animation->time_left_in_frame    = animation->frame_lengths[0]; +        animation->need_update           = true; +        animation->first_update_of_frame = true;      } else {          animation->time_left_in_frame -= delta;          while (animation->time_left_in_frame <= 0) {              int left = animation->time_left_in_frame;              if (animation->need_update) { -                animation->time_left_in_frame = 0; +                animation->time_left_in_frame   = 0;                  animation->last_update_of_frame = true;                  (*animation->frame_functions[animation->current_frame])(animation, state);                  animation->last_update_of_frame = false;              }              animation->current_frame++; -            animation->need_update = true; +            animation->need_update           = true;              animation->first_update_of_frame = true;              if (animation->current_frame == animation->num_frames) {                  if (animation->loop) {                      animation->current_frame = 0; -                } -                else { +                } else {                      stop_keyframe_animation(animation);                      return false;                  }              } -            delta = -left; +            delta                         = -left;              animation->time_left_in_frame = animation->frame_lengths[animation->current_frame];              animation->time_left_in_frame -= delta;          }      }      if (animation->need_update) { -        animation->need_update = (*animation->frame_functions[animation->current_frame])(animation, state); +        animation->need_update           = (*animation->frame_functions[animation->current_frame])(animation, state);          animation->first_update_of_frame = false;      } @@ -231,13 +218,13 @@ void run_next_keyframe(keyframe_animation_t* animation, visualizer_state_t* stat      if (next_frame == animation->num_frames) {          next_frame = 0;      } -    keyframe_animation_t temp_animation = *animation; -    temp_animation.current_frame = next_frame; -    temp_animation.time_left_in_frame = animation->frame_lengths[next_frame]; +    keyframe_animation_t temp_animation  = *animation; +    temp_animation.current_frame         = next_frame; +    temp_animation.time_left_in_frame    = animation->frame_lengths[next_frame];      temp_animation.first_update_of_frame = true; -    temp_animation.last_update_of_frame = false; -    temp_animation.need_update  = false; -    visualizer_state_t temp_state = *state; +    temp_animation.last_update_of_frame  = false; +    temp_animation.need_update           = false; +    visualizer_state_t temp_state        = *state;      (*temp_animation.frame_functions[next_frame])(&temp_animation, &temp_state);  } @@ -252,70 +239,64 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) {      visualizer_keyboard_status_t initial_status = {          .default_layer = 0xFFFFFFFF, -        .layer = 0xFFFFFFFF, -        .mods = 0xFF, -        .leds = 0xFFFFFFFF, -        .suspended = false, -    #ifdef BACKLIGHT_ENABLE +        .layer         = 0xFFFFFFFF, +        .mods          = 0xFF, +        .leds          = 0xFFFFFFFF, +        .suspended     = false, +#ifdef BACKLIGHT_ENABLE          .backlight_level = 0, -    #endif -    #ifdef VISUALIZER_USER_DATA_SIZE +#endif +#ifdef VISUALIZER_USER_DATA_SIZE          .user_data = {0}, -    #endif +#endif      }; -    visualizer_state_t state = { -        .status = initial_status, -        .current_lcd_color = 0, +    visualizer_state_t state = {.status            = initial_status, +                                .current_lcd_color = 0,  #ifdef LCD_ENABLE -        .font_fixed5x8 = gdispOpenFont("fixed_5x8"), -        .font_dejavusansbold12 = gdispOpenFont("DejaVuSansBold12") +                                .font_fixed5x8         = gdispOpenFont("fixed_5x8"), +                                .font_dejavusansbold12 = gdispOpenFont("DejaVuSansBold12")  #endif      };      initialize_user_visualizer(&state);      state.prev_lcd_color = state.current_lcd_color;  #ifdef LCD_BACKLIGHT_ENABLE -    lcd_backlight_color( -            LCD_HUE(state.current_lcd_color), -            LCD_SAT(state.current_lcd_color), -            LCD_INT(state.current_lcd_color)); +    lcd_backlight_color(LCD_HUE(state.current_lcd_color), LCD_SAT(state.current_lcd_color), LCD_INT(state.current_lcd_color));  #endif -    systemticks_t sleep_time = TIME_INFINITE; +    systemticks_t sleep_time   = TIME_INFINITE;      systemticks_t current_time = gfxSystemTicks(); -    bool force_update = true; +    bool          force_update = true; -    while(true) { +    while (true) {          systemticks_t new_time = gfxSystemTicks(); -        systemticks_t delta = new_time - current_time; -        current_time = new_time; -        bool enabled = visualizer_enabled; +        systemticks_t delta    = new_time - current_time; +        current_time           = new_time; +        bool enabled           = visualizer_enabled;          if (force_update || !same_status(&state.status, ¤t_status)) {              force_update = false; -    #if BACKLIGHT_ENABLE -            if(current_status.backlight_level != state.status.backlight_level) { +#if BACKLIGHT_ENABLE +            if (current_status.backlight_level != state.status.backlight_level) {                  if (current_status.backlight_level != 0) {                      gdispGSetPowerMode(LED_DISPLAY, powerOn);                      uint16_t percent = (uint16_t)current_status.backlight_level * 100 / BACKLIGHT_LEVELS;                      gdispGSetBacklight(LED_DISPLAY, percent); -                } -                else { +                } else {                      gdispGSetPowerMode(LED_DISPLAY, powerOff);                  }                  state.status.backlight_level = current_status.backlight_level;              } -    #endif +#endif              if (visualizer_enabled) {                  if (current_status.suspended) {                      stop_all_keyframe_animations();                      visualizer_enabled = false; -                    state.status = current_status; +                    state.status       = current_status;                      user_visualizer_suspend(&state); -                } -                else { +                } else {                      visualizer_keyboard_status_t prev_status = state.status; -                    state.status = current_status; +                    state.status                             = current_status;                      update_user_visualizer_state(&state, &prev_status);                  }                  state.prev_lcd_color = state.current_lcd_color; @@ -324,14 +305,14 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) {          if (!enabled && state.status.suspended && current_status.suspended == false) {              // Setting the status to the initial status will force an update              // when the visualizer is enabled again -            state.status = initial_status; +            state.status           = initial_status;              state.status.suspended = false;              stop_all_keyframe_animations();              user_visualizer_resume(&state);              state.prev_lcd_color = state.current_lcd_color;          }          sleep_time = TIME_INFINITE; -        for (int i=0;i<MAX_SIMULTANEOUS_ANIMATIONS;i++) { +        for (int i = 0; i < MAX_SIMULTANEOUS_ANIMATIONS; i++) {              if (animations[i]) {                  update_keyframe_animation(animations[i], &state, delta, &sleep_time);              } @@ -350,17 +331,16 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) {          // Enable the visualizer when the startup or the suspend animation has finished          if (!visualizer_enabled && state.status.suspended == false && get_num_running_animations() == 0) {              visualizer_enabled = true; -            force_update = true; -            sleep_time = 0; +            force_update       = true; +            sleep_time         = 0;          }          systemticks_t after_update = gfxSystemTicks(); -        unsigned update_delta = after_update - current_time; +        unsigned      update_delta = after_update - current_time;          if (sleep_time != TIME_INFINITE) {              if (sleep_time > update_delta) {                  sleep_time -= update_delta; -            } -            else { +            } else {                  sleep_time = 0;              }          } @@ -388,26 +368,25 @@ static DECLARE_THREAD_FUNCTION(visualizerThread, arg) {  void visualizer_init(void) {      gfxInit(); -  #ifdef LCD_BACKLIGHT_ENABLE +#ifdef LCD_BACKLIGHT_ENABLE      lcd_backlight_init(); -  #endif +#endif -  #ifdef SERIAL_LINK_ENABLE -    add_remote_objects(remote_objects, sizeof(remote_objects) / sizeof(remote_object_t*) ); -  #endif +#ifdef SERIAL_LINK_ENABLE +    add_remote_objects(remote_objects, sizeof(remote_objects) / sizeof(remote_object_t*)); +#endif -  #ifdef LCD_ENABLE +#ifdef LCD_ENABLE      LCD_DISPLAY = get_lcd_display(); -  #endif +#endif -  #ifdef BACKLIGHT_ENABLE +#ifdef BACKLIGHT_ENABLE      LED_DISPLAY = get_led_display(); -  #endif +#endif      // We are using a low priority thread, the idea is to have it run only      // when the main thread is sleeping during the matrix scanning -  gfxThreadCreate(visualizerThreadStack, sizeof(visualizerThreadStack), -                  VISUALIZER_THREAD_PRIORITY, visualizerThread, NULL); +    gfxThreadCreate(visualizerThreadStack, sizeof(visualizerThreadStack), VISUALIZER_THREAD_PRIORITY, visualizerThread, NULL);  }  void update_status(bool changed) { @@ -418,33 +397,31 @@ void update_status(bool changed) {          }      }  #ifdef SERIAL_LINK_ENABLE -    static systime_t last_update = 0; -    systime_t current_update = chVTGetSystemTimeX(); -    systime_t delta = current_update - last_update; +    static systime_t last_update    = 0; +    systime_t        current_update = chVTGetSystemTimeX(); +    systime_t        delta          = current_update - last_update;      if (changed || delta > MS2ST(10)) { -        last_update = current_update; +        last_update                     = current_update;          visualizer_keyboard_status_t* r = begin_write_current_status(); -        *r = current_status; +        *r                              = current_status;          end_write_current_status();      }  #endif  }  uint8_t visualizer_get_mods() { -  uint8_t mods = get_mods(); +    uint8_t mods = get_mods();  #ifndef NO_ACTION_ONESHOT -  if (!has_oneshot_mods_timed_out()) { -    mods |= get_oneshot_mods(); -  } +    if (!has_oneshot_mods_timed_out()) { +        mods |= get_oneshot_mods(); +    }  #endif -  return mods; +    return mods;  }  #ifdef VISUALIZER_USER_DATA_SIZE -void visualizer_set_user_data(void* u) { -    memcpy(user_data, u, VISUALIZER_USER_DATA_SIZE); -} +void visualizer_set_user_data(void* u) { memcpy(user_data, u, VISUALIZER_USER_DATA_SIZE); }  #endif  void visualizer_update(layer_state_t default_state, layer_state_t state, uint8_t mods, uint32_t leds) { @@ -455,34 +432,33 @@ void visualizer_update(layer_state_t default_state, layer_state_t state, uint8_t      bool changed = false;  #ifdef SERIAL_LINK_ENABLE -    if (is_serial_link_connected ()) { +    if (is_serial_link_connected()) {          visualizer_keyboard_status_t* new_status = read_current_status();          if (new_status) {              if (!same_status(¤t_status, new_status)) { -                changed = true; +                changed        = true;                  current_status = *new_status;              }          } -    } -    else { +    } else {  #else -   { +    {  #endif          visualizer_keyboard_status_t new_status = { -            .layer = state, +            .layer         = state,              .default_layer = default_state, -            .mods = mods, -            .leds = leds, +            .mods          = mods, +            .leds          = leds,  #ifdef BACKLIGHT_ENABLE              .backlight_level = current_status.backlight_level,  #endif              .suspended = current_status.suspended,          };  #ifdef VISUALIZER_USER_DATA_SIZE -       memcpy(new_status.user_data, user_data, VISUALIZER_USER_DATA_SIZE); +        memcpy(new_status.user_data, user_data, VISUALIZER_USER_DATA_SIZE);  #endif          if (!same_status(¤t_status, &new_status)) { -            changed = true; +            changed        = true;              current_status = new_status;          }      } | 
