You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1008 B
39 lines
1008 B
#include "libteleinfo.h"
|
|
#include "libteleinfo/src/LibTeleinfo.h"
|
|
|
|
static TInfo tinfo;
|
|
static libteleinfo_data_callback data_cb;
|
|
static libteleinfo_adps_callback adps_cb;
|
|
|
|
void _libteleinfo_data_callback(ValueList * valueslist, uint8_t flags) {
|
|
data_cb(valueslist->ts, flags, valueslist->name, valueslist->value);
|
|
}
|
|
|
|
void _libteleinfo_adps_callback(uint8_t phase) {
|
|
adps_cb(phase);
|
|
}
|
|
|
|
EXTERNC void libteleinfo_init(libteleinfo_data_callback dcb, libteleinfo_adps_callback acb) {
|
|
data_cb = dcb;
|
|
adps_cb = acb;
|
|
|
|
_Mode_e ltmode = TINFO_MODE_HISTORIQUE;
|
|
if (CONFIG_TIC_MODE) {
|
|
ltmode = TINFO_MODE_STANDARD;
|
|
}
|
|
|
|
// Initialize the LibTeleinfo
|
|
tinfo.init(ltmode);
|
|
if (dcb != NULL) {
|
|
tinfo.attachData(_libteleinfo_data_callback);
|
|
}
|
|
if (acb != NULL) {
|
|
tinfo.attachADPS(_libteleinfo_adps_callback);
|
|
}
|
|
}
|
|
|
|
EXTERNC void libteleinfo_process(uint8_t* buffer, int len) {
|
|
for (int i = 0; i < len; i++) {
|
|
tinfo.process(buffer[i]);
|
|
}
|
|
}
|
|
|