Added setUnit(char *) as method to SpanCharacteristic
Optional method to add or override the units for a Characteristic (i.e., "percentage", or "celsius") as per HAP-R2 Table 6-6.
This commit is contained in:
parent
3cc14c3a8d
commit
8737efea14
|
|
@ -1645,6 +1645,13 @@ int SpanCharacteristic::sprintfAttributes(char *cBuf, int flags){
|
||||||
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"minStep\":%s",uvPrint(stepValue).c_str());
|
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"minStep\":%s",uvPrint(stepValue).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(unit){
|
||||||
|
if(strlen(unit)>0)
|
||||||
|
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"unit\":\"%s\"",unit);
|
||||||
|
else
|
||||||
|
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"unit\":null");
|
||||||
|
}
|
||||||
|
|
||||||
if(validValues){
|
if(validValues){
|
||||||
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"valid-values\":%s",validValues);
|
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"valid-values\":%s",validValues);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -260,6 +260,7 @@ struct SpanCharacteristic{
|
||||||
uint8_t perms; // Characteristic Permissions
|
uint8_t perms; // Characteristic Permissions
|
||||||
FORMAT format; // Characteristic Format
|
FORMAT format; // Characteristic Format
|
||||||
char *desc=NULL; // Characteristic Description (optional)
|
char *desc=NULL; // Characteristic Description (optional)
|
||||||
|
char *unit=NULL; // Characteristic Unit (optional)
|
||||||
UVal minValue; // Characteristic minimum (not applicable for STRING)
|
UVal minValue; // Characteristic minimum (not applicable for STRING)
|
||||||
UVal maxValue; // Characteristic maximum (not applicable for STRING)
|
UVal maxValue; // Characteristic maximum (not applicable for STRING)
|
||||||
UVal stepValue; // Characteristic step size (not applicable for STRING)
|
UVal stepValue; // Characteristic step size (not applicable for STRING)
|
||||||
|
|
@ -607,6 +608,12 @@ struct SpanCharacteristic{
|
||||||
return(this);
|
return(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SpanCharacteristic *setUnit(const char *c){
|
||||||
|
unit = (char *)realloc(unit, strlen(c) + 1);
|
||||||
|
strcpy(unit, c);
|
||||||
|
return(this);
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
///////////////////////////////
|
///////////////////////////////
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue