2016-02-16 17:56:55 +00:00
|
|
|
#include <stdint.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include "sysinfo.h"
|
|
|
|
|
2016-05-10 17:25:07 +00:00
|
|
|
cnetz_si si[2];
|
2016-02-16 17:56:55 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
void init_sysinfo(uint8_t fuz_nat, uint8_t fuz_fuvst, uint8_t fuz_rest, uint8_t kennung_fufst, uint8_t ws_kennung, uint8_t vermittlungstechnische_sperren, uint8_t grenz_einbuchen, uint8_t grenz_umschalten, uint8_t grenz_ausloesen, uint8_t mittel_umschalten, uint8_t mittel_ausloesen, uint8_t genauigkeit, uint8_t bewertung, uint8_t entfernung, uint8_t reduzierung, uint8_t nachbar_prio, int8_t teilnehmergruppensperre, uint8_t anzahl_gesperrter_teilnehmergruppen)
|
2016-02-16 17:56:55 +00:00
|
|
|
{
|
2017-08-26 15:48:13 +00:00
|
|
|
memset(&si[0], 0, sizeof(cnetz_si));
|
2016-02-16 17:56:55 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
/* polarity of TX signal */
|
2016-05-10 17:25:07 +00:00
|
|
|
si[0].flip_polarity = 0;
|
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
/* ID of base station */
|
|
|
|
si[0].fuz_nat = fuz_nat;
|
|
|
|
si[0].fuz_fuvst = fuz_fuvst;
|
|
|
|
si[0].fuz_rest = fuz_rest;
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2016-08-07 15:17:38 +00:00
|
|
|
/* a low value causes quicker measurement results */
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].mittel_umschalten = mittel_umschalten; /* 0..5 */
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
/* a high value is tollerant to bad quality */
|
|
|
|
si[0].grenz_umschalten = grenz_umschalten; /* 0..15 */
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2016-08-07 15:17:38 +00:00
|
|
|
/* a low value causes quicker measurement results */
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].mittel_ausloesen = mittel_ausloesen; /* 0..5 */
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
/* a high value is tollerant to bad quality */
|
|
|
|
si[0].grenz_ausloesen = grenz_ausloesen; /* 0..15 */
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].vermittlungstechnische_sperren = vermittlungstechnische_sperren;
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].genauigkeit = genauigkeit; /* 1 = bedingte Genauigkeit */
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].entfernung = entfernung;
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2016-08-07 15:17:38 +00:00
|
|
|
/* a low value is tollerant to bad quality */
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].grenz_einbuchen = grenz_einbuchen; /* 1..7 */
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].kennung_fufst = kennung_fufst;
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].ws_kennung = ws_kennung;
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].nachbar_prio = nachbar_prio;
|
2016-05-10 17:25:07 +00:00
|
|
|
|
2017-08-26 15:48:13 +00:00
|
|
|
si[0].bewertung = bewertung; /* 0 = relative entfernung, 1 = pegel */
|
|
|
|
|
|
|
|
si[0].reduzierung = reduzierung;
|
|
|
|
|
|
|
|
/* deny group of subscribers. (used to balance subscribers between base stations) */
|
|
|
|
si[0].teilnehmergruppensperre = teilnehmergruppensperre;
|
|
|
|
si[0].anzahl_gesperrter_teilnehmergruppen = anzahl_gesperrter_teilnehmergruppen;
|
|
|
|
|
|
|
|
/* second cell uses flipped polarity. different station ID is used to
|
|
|
|
* detect what cell (and what polarity) the mobile responses to. */
|
|
|
|
memcpy(&si[1], &si[0], sizeof(cnetz_si));
|
|
|
|
si[1].flip_polarity = 1;
|
|
|
|
si[1].fuz_rest = si[0].fuz_rest + 1;
|
2016-02-16 17:56:55 +00:00
|
|
|
}
|
|
|
|
|