19#ifndef SRC_SUPLA_TOOLS_H_
20#define SRC_SUPLA_TOOLS_H_
24#include "definitions.h"
25#include "supla/IEEE754tools.h"
27void float2DoublePacked(
float number, uint8_t *bar,
int byteOrder = LSBFIRST);
28float doublePacked2float(uint8_t *bar);
30int64_t adjustRange(int64_t input,
36bool isArrayEmpty(
void* array,
size_t arraySize);
44int generateHexString(
const void *input,
49void hexStringToArray(
const char *input,
char *output,
int outputLength);
52uint32_t hexStringToInt(
const char *str,
int len = -1);
55uint32_t stringToUInt(
const char *str,
int len = -1);
58int32_t stringToInt(
const char *str,
int len = -1);
61int32_t floatStringToInt(
const char *str,
int precision);
64bool stringToColor(
const char *payload,
73void urlDecodeInplace(
char *buffer,
int size);
77int urlEncode(
const char *input,
char *output,
int outputMaxSize);
79int stringAppend(
char *output,
const char *input,
int maxSize);
81int strncmpInsensitive(
const char *s1,
const char *s2,
int size);
84void deviceSoftwareReset();
85bool isDeviceSoftwareResetSupported();
86bool isLastResetSoft();
88const char *getManufacturer(int16_t
id);
92int getBitNumber(uint64_t value);
93int rssiToSignalStrength(
int rssi,
int rssiZero = -100);
94bool isLastResetPower();
96const char *getRelayChannelName(
int channelFunction);
97const char *getBinarySensorChannelName(
int channelFunction);