CHDK_DE Vorschauversion  Trunk Rev. 5830
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
gui_batt.c-Dateireferenz
#include "camera_info.h"
#include "keyboard.h"
#include "battery.h"
#include "conf.h"
#include "gui_draw.h"
#include "gui_batt.h"
+ Include-Abhängigkeitsdiagramm für gui_batt.c:

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define VOLTS_N   100
 

Funktionen

static long get_batt_average ()
 
unsigned long get_batt_perc ()
 
static void gui_batt_draw_icon ()
 
static void gui_batt_draw_charge ()
 
static void gui_batt_draw_volts ()
 
void gui_batt_draw_osd (int is_osd_edit)
 

Variablen

static char osd_buf [32]
 
static icon_cmd batt_icon []
 

Makro-Dokumentation

#define VOLTS_N   100

Dokumentation der Funktionen

static long get_batt_average ( )
static

Definiert in Zeile 12 der Datei gui_batt.c.

12  {
13  #define VOLTS_N 100
14  static unsigned short volts[VOLTS_N] = {0};
15  static unsigned int n = 0, rn = 0;
16  static unsigned long volt_aver = 0;
17 
18  volt_aver-=volts[n];
19  volts[n]=(unsigned short)stat_get_vbatt();
20  volt_aver+=volts[n];
21  if (++n>rn) rn=n;
22  if (n>=VOLTS_N) n=0;
23  return volt_aver/rn;
24 }
unsigned long get_batt_perc ( )

Definiert in Zeile 27 der Datei gui_batt.c.

27  {
28  long v;
29 
30  v = get_batt_average();
34 }
static void gui_batt_draw_charge ( )
static

Definiert in Zeile 70 der Datei gui_batt.c.

70  {
71  int perc = get_batt_perc();
73  sprintf(osd_buf, "%3d%%", perc);
74  osd_buf[5]=0;
76 }
static void gui_batt_draw_icon ( )
static

Definiert in Zeile 50 der Datei gui_batt.c.

51 {
52  int perc = get_batt_perc();
53 
54  // set bar color depending percent
55  color cl1 = (perc>50) ? IDX_COLOR_GREEN_DK :(perc<=20) ? IDX_COLOR_RED_DK : IDX_COLOR_YELLOW_DK;
56  color cl2 = (perc>50) ? IDX_COLOR_GREEN :(perc<=20) ? IDX_COLOR_RED : IDX_COLOR_YELLOW;
57  color cl3 = (perc>50) ? IDX_COLOR_GREEN_LT :(perc<=20) ? IDX_COLOR_RED_LT : IDX_COLOR_YELLOW_LT;
58 
59  // Set dynamic properties for battery level
60  batt_icon[5].cb = cl1;
61  batt_icon[6].x1 = batt_icon[7].x1 = 29 - (25 * perc / 100);
62  batt_icon[6].cb = batt_icon[6].cf = cl2;
63  batt_icon[7].cb = batt_icon[7].cf = cl3;
64 
65  // Draw icon
67 }
void gui_batt_draw_osd ( int  is_osd_edit)

Definiert in Zeile 89 der Datei gui_batt.c.

90 {
91  if (conf.batt_perc_show || is_osd_edit)
93 
94  if (conf.batt_volts_show || is_osd_edit)
96 
97  if (conf.batt_icon_show || is_osd_edit)
99 }
static void gui_batt_draw_volts ( )
static

Definiert in Zeile 79 der Datei gui_batt.c.

79  {
80  unsigned long v;
81 
82  v = get_batt_average();
83  sprintf(osd_buf, "%ld.%03ld", v/1000, v%1000);
84  osd_buf[5]=0;
86 }

Variablen-Dokumentation

icon_cmd batt_icon[]
static
Initialisierung:
=
{
{ IA_ROUND_RECT, 0, 3, 3, 9, IDX_COLOR_GREY, IDX_COLOR_GREY },
{ IA_RECT, 3, 0, 31, 12, IDX_COLOR_GREY, IDX_COLOR_GREY },
{ IA_FILLED_RECT, 1, 4, 2, 8, IDX_COLOR_YELLOW_DK, IDX_COLOR_YELLOW_DK },
{ IA_FILLED_RECT, 4, 6, 30, 11, IDX_COLOR_GREY_DK, IDX_COLOR_GREY_DK },
{ IA_FILLED_RECT, 4, 1, 30, 5, IDX_COLOR_GREY_LT, IDX_COLOR_GREY_LT },
{ IA_RECT, 4, 2, 30, 10, 0, 0 },
{ IA_FILLED_RECT, 29, 6, 29, 9, 0, 0 },
{ IA_FILLED_RECT, 29, 3, 29, 5, 0, 0 },
{ IA_END }
}

Definiert in Zeile 37 der Datei gui_batt.c.

char osd_buf[32]
static

Definiert in Zeile 9 der Datei gui_batt.c.