CHDK_DE Vorschauversion  Trunk Rev. 5272
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
gui_batt.c-Dateireferenz
#include "camera_info.h"
#include "stdlib.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 13 der Datei gui_batt.c.

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

Definiert in Zeile 28 der Datei gui_batt.c.

28  {
29  unsigned long v;
30 
31  v = get_batt_average();
35 }
static void gui_batt_draw_charge ( )
static

Definiert in Zeile 71 der Datei gui_batt.c.

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

Definiert in Zeile 51 der Datei gui_batt.c.

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

Definiert in Zeile 90 der Datei gui_batt.c.

91 {
92  if (conf.batt_perc_show || is_osd_edit)
94 
95  if (conf.batt_volts_show || is_osd_edit)
97 
98  if (conf.batt_icon_show || is_osd_edit)
100 }
static void gui_batt_draw_volts ( )
static

Definiert in Zeile 80 der Datei gui_batt.c.

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

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 38 der Datei gui_batt.c.

char osd_buf[32]
static

Definiert in Zeile 10 der Datei gui_batt.c.