сурсы преобразованы в utf-8

This commit is contained in:
2025-03-04 09:41:49 +03:00
parent a5a14679f3
commit b5a26200f3
6 changed files with 185 additions and 185 deletions

View File

@@ -1,13 +1,13 @@
/**
******************************************************************************
* @file dallas_tools.c
* @brief Драйвер для работы с датчиками температуры DS18B20
* @brief Драйвер для работы с датчиками температуры DS18B20
* @author MicroTechnics (microtechnics.ru)
******************************************************************************
@details
Этот файл содержит реализацию функций для работы с датчиком DS18B20
через интерфейс 1-Wire. Он предоставляет функции для чтения и записи
конфигурации, выполнения измерений и обработки полученных данных.
Этот файл содержит реализацию функций для работы с датчиком DS18B20
через интерфейс 1-Wire. Он предоставляет функции для чтения и записи
конфигурации, выполнения измерений и обработки полученных данных.
*****************************************************************************/
@@ -22,8 +22,8 @@ DALLAS_HandleTypeDef hdallas1;
/* Functions ---------------------------------------------------------------*/
/**
* @brief Функция для нахождения нового датчика на место потерянного
* @param sensor Указатель на структуру датчика
* @brief Функция для нахождения нового датчика на место потерянного
* @param sensor Указатель на структуру датчика
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_SensorHandleTypeDef *sensor)
@@ -48,15 +48,15 @@ HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_SensorHandleTypeDef *sensor)
}
else
{
return HAL_BUSY; // датчик не потерян
return HAL_BUSY; // датчик не потерян
}
}
/**
* @brief Функция для иниицализации нового датчика в структуре
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @brief Функция для иниицализации нового датчика в структуре
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_AddNewSensors(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor)
@@ -78,9 +78,9 @@ HAL_StatusTypeDef Dallas_AddNewSensors(DALLAS_HandleTypeDef *hdallas, DALLAS_Sen
/**
* @brief Инициализирует структуру датчика по ROM
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @brief Инициализирует структуру датчика по ROM
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_SensorInitByROM(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor)
@@ -122,7 +122,7 @@ HAL_StatusTypeDef Dallas_SensorInitByROM(DALLAS_HandleTypeDef *hdallas, DALLAS_S
}
}
/* Проверка присутствует ли выбранный датчик на линии */
/* Проверка присутствует ли выбранный датчик на линии */
if(comparebytes == 0)
{
@@ -140,9 +140,9 @@ HAL_StatusTypeDef Dallas_SensorInitByROM(DALLAS_HandleTypeDef *hdallas, DALLAS_S
/**
* @brief Инициализирует структуру датчика по пользовательским байтам
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @brief Инициализирует структуру датчика по пользовательским байтам
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor)
@@ -163,12 +163,12 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DA
for(int i = 0; i < hdallas->onewire->RomCnt; i++)
{
/* Проверка присутствует ли выбранный датчик на линии */
/* Проверка присутствует ли выбранный датчик на линии */
result = DS18B20_ReadScratchpad(hdallas->onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&hdallas->scratchpad);
if (result != HAL_OK)
return result;
/* Сравнение UserByte1 и UserByte2, если они не равны нулю */
/* Сравнение UserByte1 и UserByte2, если они не равны нулю */
if((sensor->Init.InitParam & 0xFFFF) != NULL)
{
if( (hdallas->scratchpad.tHighRegister == UserByte1) &&
@@ -176,12 +176,12 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DA
{
UserByte12Cmp = 1;
}
}/* Если сравнение UserByte1 и UserByte2 не выбрано, то считаем что они совпадают */
}/* Если сравнение UserByte1 и UserByte2 не выбрано, то считаем что они совпадают */
else
{
UserByte12Cmp = 1;
}
/* Сравнение UserByte3 и UserByte4, если они не равны нулю */
/* Сравнение UserByte3 и UserByte4, если они не равны нулю */
if((sensor->Init.InitParam & 0xFFFF0000) != NULL)
{
if( (hdallas->scratchpad.UserByte3 == UserByte3) &&
@@ -189,12 +189,12 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DA
{
UserByte34Cmp = 1;
}
}/* Если сравнение UserByte3 и UserByte4 не выбрано, то считаем что они одинаковые */
}/* Если сравнение UserByte3 и UserByte4 не выбрано, то считаем что они одинаковые */
else
{
UserByte34Cmp = 1;
}
/* Если нашли нужный датчик - завершаем поиск */
/* Если нашли нужный датчик - завершаем поиск */
if(UserByte12Cmp && UserByte34Cmp)
{
// sensor->isInitialized = 1;
@@ -205,17 +205,17 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(DALLAS_HandleTypeDef *hdallas, DA
}
sensor->sensROM = 0;
/* Возвращаем ошибку если не нашли */
/* Возвращаем ошибку если не нашли */
return HAL_ERROR;
}
/**
* @brief Инициализирует структуру датчика по порядковому номеру
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @brief Инициализирует структуру датчика по порядковому номеру
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @retval HAL Status
* @details Порядковый номер датчика в списке найденных.
* Т.е. каким по счету этот датчик был найден
* @details Порядковый номер датчика в списке найденных.
* Т.е. каким по счету этот датчик был найден
*/
HAL_StatusTypeDef Dallas_SensorInitByInd(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor)
{
@@ -232,10 +232,10 @@ HAL_StatusTypeDef Dallas_SensorInitByInd(DALLAS_HandleTypeDef *hdallas, DALLAS_S
}
/**
* @brief Инициализирует датчик для работы
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @param ROM ROM датчика, который надо инициализировать
* @brief Инициализирует датчик для работы
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @param ROM ROM датчика, который надо инициализировать
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_SensorInit(DALLAS_HandleTypeDef *hdallas, DALLAS_SensorHandleTypeDef *sensor, uint8_t (*ROM)[DALLAS_ROM_SIZE])
@@ -253,11 +253,11 @@ HAL_StatusTypeDef Dallas_SensorInit(DALLAS_HandleTypeDef *hdallas, DALLAS_Sensor
// for(int i = 0; i < DALLAS_ROM_SIZE; i++)
// sensor->sensROM |= ((uint64_t)(*ROM)[i] << (56 - 8*i));
/* Проверка присутствует ли выбранный датчик на линии */
/* Проверка присутствует ли выбранный датчик на линии */
result = DS18B20_ReadScratchpad(hdallas->onewire, (uint8_t *)&sensor->sensROM, (uint8_t *)&hdallas->scratchpad);
if (result == HAL_OK)
{
/* Установка разрешения */
/* Установка разрешения */
result = DS18B20_SetResolution(hdallas->onewire, (uint8_t *)ROM, sensor->Init.Resolution);
if (result == HAL_OK)
{
@@ -278,10 +278,10 @@ HAL_StatusTypeDef Dallas_SensorInit(DALLAS_HandleTypeDef *hdallas, DALLAS_Sensor
}
/**
* @brief Деинициализирует структуру датчика
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @param sens_ind Порядковый номер датчика в структуре
* @brief Деинициализирует структуру датчика
* @param onewire Указатель на структуру OneWire
* @param sensor Указатель на структуру датчика
* @param sens_ind Порядковый номер датчика в структуре
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_SensorHandleTypeDef *sensor)
@@ -299,10 +299,10 @@ HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_SensorHandleTypeDef *sensor)
}
/**
* @brief Запускает измерение температуры на всех датчиках
* @param onewire Указатель на структуру OneWire
* @param waitCondition Условие ожидания завершения преобразования
* @param dallas_delay_ms Время ожидания окончания конверсии
* @brief Запускает измерение температуры на всех датчиках
* @param onewire Указатель на структуру OneWire
* @param waitCondition Условие ожидания завершения преобразования
* @param dallas_delay_ms Время ожидания окончания конверсии
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_StartConvertTAll(DALLAS_HandleTypeDef *hdallas, DALLAS_WaitConvertionTypeDef waitCondition, uint8_t dallas_delay_ms)
@@ -313,24 +313,24 @@ HAL_StatusTypeDef Dallas_StartConvertTAll(DALLAS_HandleTypeDef *hdallas, DALLAS_
if(hdallas == NULL)
return HAL_ERROR;
// Отправка команды начала преобразования температуры
// Отправка команды начала преобразования температуры
result = DS18B20_StartConvTAll(hdallas->onewire);
if(result != HAL_OK)
{
return result;
}
// // Проверка что преобразование началось
// // Проверка что преобразование началось
// if(OneWire_ReadBit(onewire) == 1)
// return HAL_ERROR;
// Ожидание завершения преобразования, путем проверки шины
// Ожидание завершения преобразования, путем проверки шины
if (waitCondition == DALLAS_WAIT_BUS)
{
result = DS18B20_WaitForEndConvertion(hdallas->onewire);
return result;
}
// Ожидание завершения преобразования, путем задержки
// Ожидание завершения преобразования, путем задержки
if (waitCondition == DALLAS_WAIT_DELAY)
{
uint32_t delayValueMs = 0;
@@ -364,9 +364,9 @@ HAL_StatusTypeDef Dallas_StartConvertTAll(DALLAS_HandleTypeDef *hdallas, DALLAS_
}
/**
* @brief Измеряет температуру на датчике
* @param sensor Указатель на структуру датчика
* @param waitCondition Условие ожидания завершения преобразования
* @brief Измеряет температуру на датчике
* @param sensor Указатель на структуру датчика
* @param waitCondition Условие ожидания завершения преобразования
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_WaitConvertionTypeDef waitCondition)
@@ -379,19 +379,19 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_Wai
if(sensor->isInitialized == 0)
return HAL_ERROR;
/* Проверка присутствует ли выбранный датчик на линии */
/* Проверка присутствует ли выбранный датчик на линии */
result = Dallas_IsConnected(sensor);
if (result != HAL_OK)
return result;
// Отправка команды начала преобразования температуры
// Отправка команды начала преобразования температуры
result = DS18B20_StartConvT(sensor->hdallas->onewire, (uint8_t *)&sensor->sensROM);
if(result != HAL_OK)
{
return result;
}
// Ожидание завершения преобразования, путем проверки шины
// Ожидание завершения преобразования, путем проверки шины
if (waitCondition == DALLAS_WAIT_BUS)
{
result = DS18B20_WaitForEndConvertion(sensor->hdallas->onewire);
@@ -402,7 +402,7 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_Wai
return result;
}
// Ожидание завершения преобразования, путем задержки
// Ожидание завершения преобразования, путем задержки
if (waitCondition == DALLAS_WAIT_DELAY)
{
uint32_t delayValueMs = 0;
@@ -432,7 +432,7 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_Wai
HAL_Delay(delayValueMs);
}
/* Не считываем температуру, если не выбрано ожидание окончания преобразования */
/* Не считываем температуру, если не выбрано ожидание окончания преобразования */
if(waitCondition != DALLAS_WAIT_NONE)
{
result = Dallas_ReadTemperature(sensor);
@@ -443,8 +443,8 @@ HAL_StatusTypeDef Dallas_ConvertT(DALLAS_SensorHandleTypeDef *sensor, DALLAS_Wai
/**
* @brief Читает измеренную датчиком температуру
* @param sensor Указатель на структуру датчика
* @brief Читает измеренную датчиком температуру
* @param sensor Указатель на структуру датчика
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_SensorHandleTypeDef *sensor)
@@ -456,7 +456,7 @@ HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_SensorHandleTypeDef *sensor)
if(sensor->isInitialized == 0)
return HAL_ERROR;
/* Проверка присутствует ли выбранный датчик на линии */
/* Проверка присутствует ли выбранный датчик на линии */
result = Dallas_IsConnected(sensor);
if (result != HAL_OK)
{
@@ -476,8 +476,8 @@ HAL_StatusTypeDef Dallas_ReadTemperature(DALLAS_SensorHandleTypeDef *sensor)
}
/**
* @brief Проверяет подключен ли датчик (чтение scratchpad)
* @param sensor Указатель на структуру датчика
* @brief Проверяет подключен ли датчик (чтение scratchpad)
* @param sensor Указатель на структуру датчика
* @retval HAL Status
*/
HAL_StatusTypeDef Dallas_IsConnected(DALLAS_SensorHandleTypeDef *sensor)
@@ -506,18 +506,18 @@ HAL_StatusTypeDef Dallas_IsConnected(DALLAS_SensorHandleTypeDef *sensor)
sensor->isConnected = 0;
// Dallas_ReplaceLostedSensor(sensor);
return HAL_BUSY; // использую busy, чтобы отличать ситуацию от HAL_ERROR
return HAL_BUSY; // использую busy, чтобы отличать ситуацию от HAL_ERROR
}
}
/**
* @brief Записывает пользовательские байты
* @param sensor Указатель на структуру датчика
* @param UserBytes12 Пользовательские байты 1 и 2
* @param UserBytes34 Пользовательские байты 3 и 4
* @param UserBytesMask Маска, какие байты записывать, а какие нет
* @brief Записывает пользовательские байты
* @param sensor Указатель на структуру датчика
* @param UserBytes12 Пользовательские байты 1 и 2
* @param UserBytes34 Пользовательские байты 3 и 4
* @param UserBytesMask Маска, какие байты записывать, а какие нет
* @retval HAL Status
* @details старший байт - UserByte4/UserByte2, младший - UserByte3/UserByte1.
* @details старший байт - UserByte4/UserByte2, младший - UserByte3/UserByte1.
*/
HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_SensorHandleTypeDef *sensor, uint16_t UserBytes12, uint16_t UserBytes34, uint8_t UserBytesMask)
{
@@ -526,7 +526,7 @@ HAL_StatusTypeDef Dallas_WriteUserBytes(DALLAS_SensorHandleTypeDef *sensor, uint
if(sensor->isInitialized == 0)
return HAL_ERROR;
/* Проверка присутствует ли выбранный датчик на линии */
/* Проверка присутствует ли выбранный датчик на линии */
result = Dallas_IsConnected(sensor);
if (result != HAL_OK)
return result;