From 747dc2864251b2cf05f14c3e15aaad632c31b156 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 20 Apr 2021 19:15:02 +0200 Subject: [PATCH] send also label name in ADPS callback --- lib/lib_div/LibTeleinfo/src/LibTeleinfo.cpp | 5 +++-- lib/lib_div/LibTeleinfo/src/LibTeleinfo.h | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/lib_div/LibTeleinfo/src/LibTeleinfo.cpp b/lib/lib_div/LibTeleinfo/src/LibTeleinfo.cpp index 93ad25924..549df0688 100644 --- a/lib/lib_div/LibTeleinfo/src/LibTeleinfo.cpp +++ b/lib/lib_div/LibTeleinfo/src/LibTeleinfo.cpp @@ -17,6 +17,7 @@ // V2.00 2020-06-11 - Integration into Tasmota // V2.01 2020-08-11 - Merged LibTeleinfo official and Tasmota version // Added support for new standard mode of linky smart meter +// V2.02 2021-04-20 - Add label field to overload callback (ADPS) // // All text above must be included in any redistribution. // @@ -84,7 +85,7 @@ Input : callback function Output : - Comments: - ====================================================================== */ -void TInfo::attachADPS(void (*fn_ADPS)(uint8_t phase)) +void TInfo::attachADPS(void (*fn_ADPS)(uint8_t phase, char * label)) { // indicate the user callback _fn_ADPS = fn_ADPS; @@ -759,7 +760,7 @@ void TInfo::customLabel( char * plabel, char * pvalue, uint8_t * pflags) // Traitement de l'ADPS demandé par le sketch if (_fn_ADPS) - _fn_ADPS(phase); + _fn_ADPS(phase, plabel); } } diff --git a/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h b/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h index e5cb81486..1be54ff5f 100644 --- a/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h +++ b/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h @@ -129,7 +129,7 @@ enum _State_e { #define TINFO_SGR '\n' // start of group #define TINFO_EGR '\r' // End of group -typedef void (*_fn_ADPS) (uint8_t); +typedef void (*_fn_ADPS) (uint8_t, char *); typedef void (*_fn_data) (ValueList *, uint8_t); typedef void (*_fn_new_frame) (ValueList *); typedef void (*_fn_updated_frame) (ValueList *); @@ -140,7 +140,7 @@ class TInfo TInfo(); void init(_Mode_e mode); // mode MUST be specified _State_e process (char c); - void attachADPS(void (*_fn_ADPS)(uint8_t phase)); + void attachADPS(void (*_fn_ADPS)(uint8_t phase, char * label)); void attachData(void (*_fn_data)(ValueList * valueslist, uint8_t state)); void attachNewFrame(void (*_fn_new_frame)(ValueList * valueslist)); void attachUpdatedFrame(void (*_fn_updated_frame)(ValueList * valueslist)); @@ -169,7 +169,7 @@ class TInfo char _separator; uint8_t _recv_idx; // index in receive buffer boolean _frame_updated; // Data on the frame has been updated - void (*_fn_ADPS)(uint8_t phase); + void (*_fn_ADPS)(uint8_t phase, char * label); void (*_fn_data)(ValueList * valueslist, uint8_t state); void (*_fn_new_frame)(ValueList * valueslist); void (*_fn_updated_frame)(ValueList * valueslist);