|
|
@@ -192,13 +192,16 @@ const GPIO* unitemp_gpio_getAviablePort(const Interface* interface, uint8_t inde
|
|
|
|
|
|
uint8_t unitemp_sensors_getCount(void) {
|
|
|
if(app->sensors == NULL) return 0;
|
|
|
- return sizeof(app->sensors) / sizeof(Sensor**);
|
|
|
+ return app->sensors_count;
|
|
|
}
|
|
|
|
|
|
void unitemp_sensors_add(Sensor* sensor) {
|
|
|
+ FURI_LOG_D(APP_NAME, "realloc to %d", unitemp_sensors_getCount() + 1);
|
|
|
app->sensors =
|
|
|
(Sensor**)realloc(app->sensors, (unitemp_sensors_getCount() + 1) * sizeof(Sensor*));
|
|
|
+ FURI_LOG_D(APP_NAME, "adding to %d", unitemp_sensors_getCount());
|
|
|
app->sensors[unitemp_sensors_getCount()] = sensor;
|
|
|
+ app->sensors_count++;
|
|
|
}
|
|
|
|
|
|
bool unitemp_sensors_load(void) {
|
|
|
@@ -280,6 +283,7 @@ bool unitemp_sensors_load(void) {
|
|
|
|
|
|
char* args = ((char*)(file_buf + line_end + offset));
|
|
|
const SensorType* stype = unitemp_sensors_getTypeFromStr(type);
|
|
|
+
|
|
|
//Проверка типа датчика
|
|
|
if(stype != NULL && sizeof(name) > 0 && sizeof(name) <= 11) {
|
|
|
Sensor* sensor =
|
|
|
@@ -414,6 +418,7 @@ Sensor* unitemp_sensor_alloc(char* name, const SensorType* type, char* args) {
|
|
|
|
|
|
//Выход если датчик успешно развёрнут
|
|
|
if(status) {
|
|
|
+ FURI_LOG_I(APP_NAME, "Sensor %s allocated", name);
|
|
|
return sensor;
|
|
|
}
|
|
|
//Если ни один из типов не подошёл, то выход с очисткой
|
|
|
@@ -453,7 +458,7 @@ void unitemp_sensors_free(void) {
|
|
|
for(uint8_t i = 0; i < unitemp_sensors_getCount(); i++) {
|
|
|
unitemp_sensor_free(app->sensors[i]);
|
|
|
}
|
|
|
- free(app->sensors);
|
|
|
+ app->sensors_count = 0;
|
|
|
}
|
|
|
|
|
|
bool unitemp_sensors_init(void) {
|