mirror of
https://github.com/agdsn/ancient-weatherstation.git
synced 2026-06-19 23:07:59 +00:00
Default-Dir-Option added
git-svn-id: file:///home/jan/tmp/wetterstation/trunk@101 dd492736-c11a-0410-ad51-8c26713eaf7f
This commit is contained in:
@@ -1,82 +0,0 @@
|
||||
#############################################
|
||||
# Beispiel-Config-File für ein Diagram-Bild #
|
||||
#############################################
|
||||
|
||||
# Filename des erzeugten bildes
|
||||
filename /home/jan/Testbild.png
|
||||
|
||||
# Ueberschrift des erzeugten bildes
|
||||
headline Mein Wetterbild
|
||||
|
||||
# Tabelle mit den Daten manuell angeben
|
||||
manual_table no
|
||||
#manual_table_name auss2_data
|
||||
|
||||
# Feld in der Tabele, welches angezeigt werden soll
|
||||
table_field temp
|
||||
|
||||
# Intervalle. Diese werte muessen einer gewissen
|
||||
# Syntax entsprechen:
|
||||
# 1, 10, 234 => Intervalangaben in Sekunden
|
||||
# 1m, 10m, 234m => Intervalangaben in Minuten
|
||||
# 1h, 10h, 234h => Intervalangaben in Stunden
|
||||
# 1d, 10d, 234d => Intervalangaben in Tagen
|
||||
# 1y, 10y, 234y => Intervalangaben in Jahren
|
||||
gen_interval 1 # gibt an, in welchem Interval das Bild generiert werden soll
|
||||
show_interval 10d # gibt an, welcher Interval angezeigt werden soll
|
||||
label_interval 1d # gibt an, Welche zeitspanne (ab generierungszeitraum) angezeigt werden soll
|
||||
|
||||
# Hoehe und Breite des Bildes
|
||||
width 800
|
||||
height 300
|
||||
|
||||
# Id des Sensors, dessen Daten angezeigt werden sollen
|
||||
sensor_id 1
|
||||
|
||||
# Faktor, mit dem die Werte multipliziert werden sollen, bevor sie angezeigt werden
|
||||
value_koeffizient 0.1
|
||||
|
||||
# Einheit, die an die Werte der y-Skala angehangen werden sollen
|
||||
unit °C
|
||||
|
||||
# Beschreibungstext der X- und Y-Achse
|
||||
x_axis_desc Zeit
|
||||
y_axis_desc Temparatur (°C)
|
||||
|
||||
# Format fuer die Labels der X-Achse
|
||||
# Die formatierungssyntax kann der Manpage zur
|
||||
# C-Funktion strftime entnommen werden.
|
||||
# Einzige Besonderheit ist, das ein | einen Zeilenumbruck mit
|
||||
# Wagenruecklauf bewirkt
|
||||
x_format %d.%m.%y # 'Normale' Labels
|
||||
x_format_extra %d.%m.%y| %H:%M # Das ersre und das letzte Label
|
||||
|
||||
# Folgende Angaben sind vor allem fuer die Balkendiagramme wichtig.
|
||||
# Sonst sollten sie imer auf no stehen!
|
||||
zero_min no # Die Nullinie auf jeden Fall anzeigen
|
||||
as_bars no # Balken statt einer Linie zeichnen
|
||||
label_sum no # Die Werte der Labels summieren anstatt den Durchschnitt zu bilden
|
||||
|
||||
|
||||
# Farben
|
||||
# Auch sie folgen einer speziellen Syntax:
|
||||
# rr:gg:bb:aa
|
||||
# Die Werte rr-aa sind jeweils 2-stellige Hexadezimalwerte (00-FF)
|
||||
# dabei ist
|
||||
# rr der Rotanteil
|
||||
# gg der Gruenanteil
|
||||
# bb der Blauanzeil
|
||||
# aa der Alphawert (transparenz)
|
||||
bg_color DF:DF:EF:00 # Gesamthintergrund des Diagrames
|
||||
dia_bg_color F0:A0:D0:D0 # Hintergrund des Bereiches mit den Daten
|
||||
zero_line_color BF:80:80:40 # Farbe der 'Nulllinie'
|
||||
dia_line_color 60:30:50:30 # Farbe der Balken oder der Linie
|
||||
dia_grid_x_color 60:60:60:EF # Farbe der Senkrechten Striche
|
||||
dia_grid_y_color 60:60:60:EF # Farbe der Waagerechten Striche
|
||||
dia_border_color a0:a0:a0:af # Farbe des Diagramrahmens (rahmen um den Datenbereich)
|
||||
headline_color 80:10:10:30 # Farbe der Ueberschrift
|
||||
label_x_color 60:60:60:30 # Farbe der Labels an der X-Achse
|
||||
label_extra_x_color 60:10:10:20 # Farbe des ersten und lezten Labels an der X-Achse
|
||||
label_y_color 20:20:20:20 # Farbe der Labels an der Y-Achse
|
||||
descr_y_color 10:50:10:20 # Farbe der x-Achsen Beschreibung
|
||||
descr_x_color 10:10:50:20 # Farbe der y-Achsen-Beschreibung
|
||||
@@ -27,6 +27,7 @@ typedef struct image_cfg {
|
||||
char *x_fmt;
|
||||
int zero_min;
|
||||
int bars;
|
||||
int dflt_dir;
|
||||
|
||||
img_color_ptr bg_color;
|
||||
img_color_ptr dia_bg_color;
|
||||
|
||||
@@ -41,6 +41,7 @@ static int read_fmt_str(const char *, void *);
|
||||
static const config_keyword keywords[] = {
|
||||
/* keyword handler variable address default */
|
||||
{"filename", read_str, &(img_cfg.file_name), ""},
|
||||
{"use_dflt_img_dir", read_yn, &(img_cfg.dflt_dir), DEFAULT_LABEL_SUM},
|
||||
{"headline", read_str, &(img_cfg.headline), DEFAULT_HEADLINE},
|
||||
{"table_field", read_str, &(img_cfg.table_field), DEFAULT_TABLE_FIELD},
|
||||
{"manual_table", read_yn, &(img_cfg.manual_table), DEFAULT_MANUAL_TABLE},
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <sys/stat.h>
|
||||
#include "../definitions.h"
|
||||
@@ -31,6 +32,8 @@
|
||||
#include "image_config.h"
|
||||
#include "image_draw.h"
|
||||
|
||||
#define BUFFSIZE 512
|
||||
|
||||
|
||||
/* Optionen des Bildes */
|
||||
image_cfg_t img_cfg;
|
||||
@@ -43,6 +46,8 @@ static int check_file_interval();
|
||||
|
||||
/* Handelt ein Bild */
|
||||
void process_image_cfg(char *image_cfg_file){
|
||||
char *buff;
|
||||
int i;
|
||||
|
||||
get_image_cfg(image_cfg_file);
|
||||
|
||||
@@ -60,6 +65,15 @@ void process_image_cfg(char *image_cfg_file){
|
||||
DEBUGOUT2("ManualTabelle = %d\n", img_cfg.manual_table);
|
||||
DEBUGOUT2("TabellenName = %s\n", img_cfg.table_name);
|
||||
DEBUGOUT1("\n");
|
||||
|
||||
if(img_cfg.dflt_dir){
|
||||
buff = malloc(sizeof(char)*BUFFSIZE);
|
||||
buff = strncpy(buff, global_opts.dflt_image_location, BUFFSIZE - 1);
|
||||
i = strlen(buff);
|
||||
buff = strncat(buff, img_cfg.file_name, BUFFSIZE - i - 1);
|
||||
img_cfg.file_name = strdup(buff);
|
||||
free(buff);
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
filename /home/jan/Testbild.png
|
||||
filename Testbild.png
|
||||
use_dflt_img_dir yes
|
||||
headline Temparatur - Innensensor
|
||||
manual_table no
|
||||
manual_table_name auss2_data
|
||||
|
||||
Reference in New Issue
Block a user