From 5f6ef1bc8aa645db059c1bd4da53d3651748a1b7 Mon Sep 17 00:00:00 2001 From: mtei <2170248+mtei@users.noreply.github.com> Date: Tue, 29 Jan 2019 06:30:26 +0900 Subject: [PATCH] add temporary file that is rgblight.c call graph --- quantum/rgblight-call-graph.dot | 231 ++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 quantum/rgblight-call-graph.dot diff --git a/quantum/rgblight-call-graph.dot b/quantum/rgblight-call-graph.dot new file mode 100644 index 0000000000..f9a8b83195 --- /dev/null +++ b/quantum/rgblight-call-graph.dot @@ -0,0 +1,231 @@ +// qmk_firmware/quantum/rgblight.c call graph (2019-1-29) +// +// USE Graphviz -- http://www.graphviz.org/ +// http://www.graphviz.org/documentation/ +// usage: +// % dot -Tpdf -o rgblight-call-graph.dot +// % dot -Tpng -o rgblight-call-graph.dot +// +// result: https://i.imgur.com/euCQswD.png + +digraph rgblight_call_graph { +graph [ rankdir = LR ]; +node [ shape = box, style = "rounded" ]; + +// quantum/quantum.c sets RGB_DIRTY after calling the following function. +rgblight_toggle, +rgblight_step_reverse, +rgblight_step, +rgblight_increase_hue, +rgblight_decrease_hue, +rgblight_increase_sat, +rgblight_decrease_sat, +rgblight_increase_val, +rgblight_decrease_val, +rgblight_mode [style = "rounded,filled", color = "#ff0000", fillcolor = "#ffcccc"]; + +// --------------------------- node(function) list --------------------------- +sethsv +setrgb +eeconfig_read_rgblight +eeconfig_update_rgblight +eeconfig_update_rgblight_default +// eeconfig_debug_rgblight +// rgblight_get_mode +rgblight_increase_speed +rgblight_decrease_speed +// rgblight_get_hue +// rgblight_get_sat +// rgblight_get_val +rgblight_set +rgblight_setrgb +rgblight_sethsv_noeeprom_old +rgblight_sethsv_eeprom_helper [style = "rounded,filled", color = green, fillcolor = greenyellow] +rgblight_increase_hue_helper +rgblight_increase_hue_noeeprom +rgblight_increase_hue +rgblight_decrease_hue_helper +rgblight_decrease_hue_noeeprom +rgblight_decrease_hue +rgblight_increase_sat_helper +rgblight_increase_sat_noeeprom +rgblight_increase_sat +rgblight_decrease_sat_helper +rgblight_decrease_sat_noeeprom +rgblight_decrease_sat +rgblight_increase_val_helper +rgblight_increase_val_noeeprom +rgblight_increase_val +rgblight_decrease_val_helper +rgblight_decrease_val_noeeprom +rgblight_decrease_val +rgblight_sethsv +rgblight_sethsv_noeeprom +rgblight_mode_eeprom_helper +rgblight_step_helper +rgblight_step_noeeprom +rgblight_step +rgblight_step_reverse_helper +rgblight_step_reverse_noeeprom +rgblight_step_reverse +rgblight_mode +rgblight_increase +rgblight_decrease +rgblight_enable +rgblight_mode_noeeprom +rgblight_init +rgblight_enable_noeeprom +rgblight_setrgb_at +rgblight_sethsv_at +rgblight_update_dword +rgblight_disable [style = "rounded,filled", color = green, fillcolor = greenyellow] +rgblight_toggle +rgblight_disable_noeeprom [style = "rounded,filled", color = green, fillcolor = greenyellow] +rgblight_toggle_noeeprom + +rgblight_timer_init +rgblight_timer_enable +rgblight_timer_disable +// rgblight_timer_toggle +rgblight_show_solid_color +rgblight_effect_breathing +rgblight_effect_rainbow_mood +rgblight_effect_rainbow_swirl +rgblight_effect_christmas +rgblight_task + +{ rank=min; rgblight_task; rgblight_init } +{ rank=same; rgblight_enable; rgblight_effect_breathing; + rgblight_effect_rainbow_mood; rgblight_effect_rainbow_swirl; + rgblight_effect_christmas } +{ rank=same; rgblight_disable_noeeprom; rgblight_enable_noeeprom; } + +// --------------------------- call list --------------------------- + +rgblight_task -> rgblight_effect_breathing +rgblight_task -> rgblight_effect_rainbow_mood +rgblight_task -> rgblight_effect_rainbow_swirl +rgblight_task -> rgblight_effect_christmas + +rgblight_effect_breathing -> timer_elapsed +rgblight_effect_breathing -> timer_read +rgblight_effect_breathing -> rgblight_sethsv_noeeprom_old + +rgblight_effect_rainbow_mood -> timer_elapsed +rgblight_effect_rainbow_mood -> timer_read +rgblight_effect_rainbow_mood -> rgblight_sethsv_noeeprom_old + +rgblight_effect_rainbow_swirl -> timer_elapsed +rgblight_effect_rainbow_swirl -> timer_read +rgblight_effect_rainbow_swirl -> sethsv +rgblight_effect_rainbow_swirl -> rgblight_set [style = "dotted"] + +rgblight_effect_christmas -> timer_elapsed +rgblight_effect_christmas -> timer_read +rgblight_effect_christmas -> sethsv +rgblight_effect_christmas -> rgblight_set [style = "dotted"]; + +sethsv -> setrgb + +eeconfig_read_rgblight -> eeprom_read_dword + +eeconfig_update_rgblight -> eeprom_update_dword + +eeconfig_update_rgblight_default -> eeconfig_update_rgblight [style = "dotted"]; + +rgblight_increase_speed -> eeconfig_update_rgblight [style = "dotted"]; +rgblight_decrease_speed -> eeconfig_update_rgblight [style = "dotted"]; + +rgblight_set -> ws2812_setleds + +rgblight_setrgb -> rgblight_set [style = "dotted"]; + +rgblight_sethsv_noeeprom_old -> sethsv +rgblight_sethsv_noeeprom_old -> rgblight_setrgb + +rgblight_sethsv_eeprom_helper -> sethsv +rgblight_sethsv_eeprom_helper -> rgblight_setrgb +rgblight_sethsv_eeprom_helper -> eeconfig_update_rgblight [style = "dotted"]; +rgblight_sethsv_eeprom_helper -> rgblight_set [style = "dotted"]; + +rgblight_increase_hue_helper -> rgblight_sethsv_eeprom_helper +rgblight_increase_hue_noeeprom -> rgblight_increase_hue_helper +rgblight_increase_hue -> rgblight_increase_hue_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_decrease_hue_helper -> rgblight_sethsv_eeprom_helper +rgblight_decrease_hue_noeeprom -> rgblight_decrease_hue_helper +rgblight_decrease_hue -> rgblight_decrease_hue_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_increase_sat_helper -> rgblight_sethsv_eeprom_helper +rgblight_increase_sat_noeeprom -> rgblight_increase_sat_helper +rgblight_increase_sat -> rgblight_increase_sat_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_decrease_sat_helper -> rgblight_sethsv_eeprom_helper +rgblight_decrease_sat_noeeprom -> rgblight_decrease_sat_helper +rgblight_decrease_sat -> rgblight_decrease_sat_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_increase_val_helper -> rgblight_sethsv_eeprom_helper +rgblight_increase_val_noeeprom -> rgblight_increase_val_helper +rgblight_increase_val -> rgblight_increase_val_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_decrease_val_helper -> rgblight_sethsv_eeprom_helper +rgblight_decrease_val_noeeprom -> rgblight_decrease_val_helper +rgblight_decrease_val -> rgblight_decrease_val_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_sethsv -> rgblight_sethsv_eeprom_helper + +rgblight_sethsv_noeeprom -> rgblight_sethsv_eeprom_helper + +rgblight_mode_eeprom_helper -> eeconfig_update_rgblight [style = "dotted"]; +rgblight_mode_eeprom_helper -> rgblight_sethsv_noeeprom +rgblight_mode_eeprom_helper -> rgblight_timer_disable +rgblight_mode_eeprom_helper -> rgblight_timer_enable + +rgblight_step_helper -> rgblight_mode_eeprom_helper +rgblight_step_noeeprom -> rgblight_step_helper +rgblight_step -> rgblight_step_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] +rgblight_step_reverse_helper -> rgblight_mode_eeprom_helper +rgblight_step_reverse_noeeprom -> rgblight_step_reverse_helper +rgblight_step_reverse -> rgblight_step_reverse_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_mode -> rgblight_mode_eeprom_helper [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_increase -> rgblight_mode +rgblight_decrease -> rgblight_mode + +rgblight_enable -> rgblight_mode +rgblight_mode_noeeprom -> rgblight_mode_eeprom_helper + +rgblight_init -> eeconfig_is_enabled +rgblight_init -> eeconfig_init +rgblight_init -> eeconfig_update_rgblight_default +rgblight_init -> eeconfig_read_rgblight +rgblight_init -> rgblight_mode_noeeprom +rgblight_init -> rgblight_timer_init + +rgblight_enable_noeeprom -> rgblight_mode_noeeprom + +rgblight_setrgb_at -> rgblight_set [style = "dotted"]; +rgblight_sethsv_at -> sethsv +rgblight_sethsv_at -> rgblight_setrgb_at + +rgblight_update_dword -> eeconfig_update_rgblight [style = "dotted"]; +rgblight_update_dword -> rgblight_mode +rgblight_update_dword -> rgblight_set [style = "dotted"]; + +rgblight_disable -> eeconfig_update_rgblight [style = "dotted"]; +rgblight_disable -> rgblight_set [style = "dotted"]; + +rgblight_toggle -> rgblight_disable [ label = "RGB_DIRTY", color = red, fontcolor = red] +rgblight_toggle -> rgblight_enable [ label = "RGB_DIRTY", color = red, fontcolor = red] + +rgblight_disable_noeeprom -> rgblight_set [style = "dotted"]; + +rgblight_toggle_noeeprom -> rgblight_disable_noeeprom +rgblight_toggle_noeeprom -> rgblight_enable_noeeprom + +rgblight_show_solid_color -> rgblight_enable +rgblight_show_solid_color -> rgblight_mode +rgblight_show_solid_color -> rgblight_setrgb + +}