Raspberry Pi Weighting Control System
This project serves as a simple weighting control system, that was realized as a Bachelor Thesis
Namespaces | Macros | Functions
config_loader.cpp File Reference
#include "config_loader.h"
#include <string.h>
#include <limits.h>
#include <errno.h>
#include <fstream>
#include <string>
#include <vector>
#include <exception>
#include <spdlog/spdlog.h>
#include "app_workspace.h"
#include "utility.h"
#include <iostream>
#include "confini.h"

Go to the source code of this file.

Namespaces

 config_loader
 

Macros

#define GEN_DEFAULT_FONTS_PATH   "fonts/"
 
#define GEN_DEFAULT_FONT   "09809_COURIER.ttf"
 
#define GEN_DEFAULT_LANG_PATH   "languages/"
 
#define GEN_DEFAULT_LANG   "en"
 
#define KB_DEFAULT_DEV   "/dev/spidev0.1"
 
#define KB_DEFAULT_MODE   0
 
#define KB_DEFAULT_BITS   8
 
#define KB_DEFAULT_SPEED   500000
 
#define KB_DEFAULT_DELAY   0
 
#define RFID_DEFAULT_DEV   "/dev/spidev0.0"
 
#define RFID_DEFAULT_MODE   0
 
#define RFID_DEFAULT_BITS   8
 
#define RFID_DEFAULT_SPEED   1000000
 
#define RFID_DEFAULT_DELAY   0
 
#define DB_DEFAULT_HOST   "localhost"
 
#define DB_DEFAULT_USER   "pi"
 
#define DB_DEFAULT_PASSWORD   "raspberry"
 
#define DB_DEFAULT_DATABASE   "control_system"
 
#define DB_DEFAULT_PORT   3306
 
#define HX_DEFAULT_DATA_PIN   25
 
#define HX_DEFAULT_CLOCK_PIN   18
 
#define HX_DEFAULT_RATE   80
 
#define HX_DEFAULT_REF_UNIT   -45
 
#define HX_DEFAULT_OFFSET   -254817
 
#define conf   ((app_config*) v_other)
 
#define IS_SECTION(SECTION)   ini_array_match(SECTION, disp->append_to, '.', disp->format)
 
#define IS_KEY(KEY)   ini_string_match_si(KEY, disp->data, disp->format)
 

Functions

int config_loader::parse_int (const char *str, int *res)
 
int config_loader::parse_and_init_int (const char *str, int *dest, int default_val, int max_val=INT_MAX)
 
int config_loader::parse_and_init_str (std::string &dest, char *str, IniFormat format, const char *default_val)
 
int config_loader::load_main_config_ini (const char *cfg_path)
 This funciton loads main configuration. _ini symobolizes that the expected format is .ini. More...
 
int config_loader::exist_opt_config (const char *cfg_path)
 Checks if optional config exists. More...
 
int config_loader::load_opt_config (const char *cfg_path)
 Loads the optional config. More...
 
int config_loader::replace_opt_in_opt_config (const char *cfg_path, std::string key, std::string value)
 This is used to replace a values in optional config. More...
 

Macro Definition Documentation

◆ conf

#define conf   ((app_config*) v_other)

◆ DB_DEFAULT_DATABASE

#define DB_DEFAULT_DATABASE   "control_system"

Definition at line 39 of file config_loader.cpp.

◆ DB_DEFAULT_HOST

#define DB_DEFAULT_HOST   "localhost"

Definition at line 36 of file config_loader.cpp.

◆ DB_DEFAULT_PASSWORD

#define DB_DEFAULT_PASSWORD   "raspberry"

Definition at line 38 of file config_loader.cpp.

◆ DB_DEFAULT_PORT

#define DB_DEFAULT_PORT   3306

Definition at line 40 of file config_loader.cpp.

◆ DB_DEFAULT_USER

#define DB_DEFAULT_USER   "pi"

Definition at line 37 of file config_loader.cpp.

◆ GEN_DEFAULT_FONT

#define GEN_DEFAULT_FONT   "09809_COURIER.ttf"

Definition at line 20 of file config_loader.cpp.

◆ GEN_DEFAULT_FONTS_PATH

#define GEN_DEFAULT_FONTS_PATH   "fonts/"

Definition at line 19 of file config_loader.cpp.

◆ GEN_DEFAULT_LANG

#define GEN_DEFAULT_LANG   "en"

Definition at line 22 of file config_loader.cpp.

◆ GEN_DEFAULT_LANG_PATH

#define GEN_DEFAULT_LANG_PATH   "languages/"

Definition at line 21 of file config_loader.cpp.

◆ HX_DEFAULT_CLOCK_PIN

#define HX_DEFAULT_CLOCK_PIN   18

Definition at line 43 of file config_loader.cpp.

◆ HX_DEFAULT_DATA_PIN

#define HX_DEFAULT_DATA_PIN   25

Definition at line 42 of file config_loader.cpp.

◆ HX_DEFAULT_OFFSET

#define HX_DEFAULT_OFFSET   -254817

Definition at line 46 of file config_loader.cpp.

◆ HX_DEFAULT_RATE

#define HX_DEFAULT_RATE   80

Definition at line 44 of file config_loader.cpp.

◆ HX_DEFAULT_REF_UNIT

#define HX_DEFAULT_REF_UNIT   -45

Definition at line 45 of file config_loader.cpp.

◆ IS_KEY

#define IS_KEY (   KEY)    ini_string_match_si(KEY, disp->data, disp->format)

◆ IS_SECTION

#define IS_SECTION (   SECTION)    ini_array_match(SECTION, disp->append_to, '.', disp->format)

◆ KB_DEFAULT_BITS

#define KB_DEFAULT_BITS   8

Definition at line 26 of file config_loader.cpp.

◆ KB_DEFAULT_DELAY

#define KB_DEFAULT_DELAY   0

Definition at line 28 of file config_loader.cpp.

◆ KB_DEFAULT_DEV

#define KB_DEFAULT_DEV   "/dev/spidev0.1"

Definition at line 24 of file config_loader.cpp.

◆ KB_DEFAULT_MODE

#define KB_DEFAULT_MODE   0

Definition at line 25 of file config_loader.cpp.

◆ KB_DEFAULT_SPEED

#define KB_DEFAULT_SPEED   500000

Definition at line 27 of file config_loader.cpp.

◆ RFID_DEFAULT_BITS

#define RFID_DEFAULT_BITS   8

Definition at line 32 of file config_loader.cpp.

◆ RFID_DEFAULT_DELAY

#define RFID_DEFAULT_DELAY   0

Definition at line 34 of file config_loader.cpp.

◆ RFID_DEFAULT_DEV

#define RFID_DEFAULT_DEV   "/dev/spidev0.0"

Definition at line 30 of file config_loader.cpp.

◆ RFID_DEFAULT_MODE

#define RFID_DEFAULT_MODE   0

Definition at line 31 of file config_loader.cpp.

◆ RFID_DEFAULT_SPEED

#define RFID_DEFAULT_SPEED   1000000

Definition at line 33 of file config_loader.cpp.