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());
|
||||
}
|
||||
|
||||
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){
|
||||
nBytes+=snprintf(cBuf?(cBuf+nBytes):NULL,cBuf?128:0,",\"valid-values\":%s",validValues);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -260,6 +260,7 @@ struct SpanCharacteristic{
|
|||
uint8_t perms; // Characteristic Permissions
|
||||
FORMAT format; // Characteristic Format
|
||||
char *desc=NULL; // Characteristic Description (optional)
|
||||
char *unit=NULL; // Characteristic Unit (optional)
|
||||
UVal minValue; // Characteristic minimum (not applicable for STRING)
|
||||
UVal maxValue; // Characteristic maximum (not applicable for STRING)
|
||||
UVal stepValue; // Characteristic step size (not applicable for STRING)
|
||||
|
|
@ -607,6 +608,12 @@ struct SpanCharacteristic{
|
|||
return(this);
|
||||
}
|
||||
|
||||
SpanCharacteristic *setUnit(const char *c){
|
||||
unit = (char *)realloc(unit, strlen(c) + 1);
|
||||
strcpy(unit, c);
|
||||
return(this);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
///////////////////////////////
|
||||
|
|
|
|||
Loading…
Reference in New Issue