Сделана заготовка структуры и функций для измерения датчиков с модуля пч
This commit is contained in:
@@ -19,123 +19,7 @@
|
|||||||
|
|
||||||
/* Declarations and definitions --------------------------------------------*/
|
/* Declarations and definitions --------------------------------------------*/
|
||||||
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
DALLAS_HandleTypeDef outdoor;
|
|
||||||
DALLAS_HandleTypeDef indoor;
|
|
||||||
DALLAS_HandleTypeDef bathroom;
|
|
||||||
DALLAS_HandleTypeDef kitchen;
|
|
||||||
DALLAS_HandleTypeDef big_room;
|
|
||||||
DALLAS_HandleTypeDef small_room;
|
|
||||||
DALLAS_HandleTypeDef living_room;
|
|
||||||
DALLAS_HandleTypeDef basement;
|
|
||||||
}AllSens;
|
|
||||||
|
|
||||||
/* Functions ---------------------------------------------------------------*/
|
/* Functions ---------------------------------------------------------------*/
|
||||||
|
|
||||||
void Dallas_ReadAll(void)
|
|
||||||
{
|
|
||||||
HAL_StatusTypeDef result;
|
|
||||||
|
|
||||||
result = Dallas_StartConvertTAll(&OW, DALLAS_WAIT_BUS, 0);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.outdoor) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.outdoor);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.indoor) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.indoor);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.bathroom) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.bathroom);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.kitchen) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.kitchen);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.big_room) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.big_room);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.small_room) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.small_room);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.living_room) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.living_room);
|
|
||||||
|
|
||||||
if(Dallas_ReadTemperature(&AllSens.basement) == HAL_BUSY)
|
|
||||||
Dallas_ReplaceLostedSensor(&AllSens.basement);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void Dallas_FirstInit(void)
|
|
||||||
{
|
|
||||||
OW.DataPin = DS_Pin;
|
|
||||||
OW.DataPort = DS_GPIO_Port;
|
|
||||||
DS.Resolution = DS18B20_RESOLUTION_9BITS;
|
|
||||||
|
|
||||||
OneWire_Init(&OW);
|
|
||||||
DS18B20_Search(&DS, &OW);
|
|
||||||
AllSens.outdoor.Init.ROM = 0x28C60C61060000DC;
|
|
||||||
AllSens.indoor.Init.ROM = 0x283E4861060000F9;
|
|
||||||
AllSens.bathroom.Init.ROM = 0x28876D60060000CD;
|
|
||||||
|
|
||||||
AllSens.outdoor.Init.SensInd = 0;
|
|
||||||
AllSens.indoor.Init.SensInd = 1;
|
|
||||||
AllSens.bathroom.Init.SensInd = 2;
|
|
||||||
AllSens.kitchen.Init.SensInd = 3;
|
|
||||||
AllSens.big_room.Init.SensInd = 4;
|
|
||||||
AllSens.small_room.Init.SensInd = 5;
|
|
||||||
AllSens.living_room.Init.SensInd = 6;
|
|
||||||
AllSens.basement.Init.SensInd = 7;
|
|
||||||
|
|
||||||
AllSens.outdoor.Init.UserBytes12 = 1;
|
|
||||||
AllSens.indoor.Init.UserBytes12 = 2;
|
|
||||||
AllSens.bathroom.Init.UserBytes12 = 3;
|
|
||||||
AllSens.kitchen.Init.UserBytes12 = 4;
|
|
||||||
AllSens.big_room.Init.UserBytes12 = 5;
|
|
||||||
AllSens.small_room.Init.UserBytes12 = 6;
|
|
||||||
AllSens.living_room.Init.UserBytes12 = 7;
|
|
||||||
AllSens.basement.Init.UserBytes12 = 8;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AllSens.outdoor.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.indoor.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.bathroom.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.kitchen.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.big_room.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.small_room.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.living_room.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
AllSens.basement.Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
|
||||||
|
|
||||||
Dallas_AddNewSensors(&OW, &AllSens.outdoor);
|
|
||||||
Dallas_AddNewSensors(&OW, &AllSens.indoor);
|
|
||||||
Dallas_AddNewSensors(&OW, &AllSens.bathroom);
|
|
||||||
|
|
||||||
//
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.outdoor, 0);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.indoor, 2);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.bathroom, 1);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.kitchen, 3);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.big_room, 4);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.small_room, 5);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.living_room, 6);
|
|
||||||
// Dallas_SensorInitByInd(&OW, &AllSens.basement, 7);
|
|
||||||
//
|
|
||||||
// uint8_t mask = DALLAS_USER_BYTE_ALL;
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.outdoor, 1, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.indoor, 2, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.bathroom, 3, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.kitchen, 4, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.big_room, 5, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.small_room, 6, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.living_room, 7, NULL, mask);
|
|
||||||
// Dallas_WriteUserBytes(&AllSens.basement, 8, NULL, mask);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Ôóíêöèÿ äëÿ íàõîæäåíèÿ íîâîãî äàò÷èêà íà ìåñòî ïîòåðÿííîãî
|
* @brief Ôóíêöèÿ äëÿ íàõîæäåíèÿ íîâîãî äàò÷èêà íà ìåñòî ïîòåðÿííîãî
|
||||||
* @param sensor Óêàçàòåëü íà ñòðóêòóðó äàò÷èêà
|
* @param sensor Óêàçàòåëü íà ñòðóêòóðó äàò÷èêà
|
||||||
@@ -277,51 +161,46 @@ HAL_StatusTypeDef Dallas_SensorInitByUserBytes(OneWire_t *onewire, DALLAS_Handle
|
|||||||
DALLAS_ScratchpadTypeDef scratchpad;
|
DALLAS_ScratchpadTypeDef scratchpad;
|
||||||
for(int i = 0; i < onewire->RomCnt; i++)
|
for(int i = 0; i < onewire->RomCnt; i++)
|
||||||
{
|
{
|
||||||
|
/* Проверка присутствует ли выбранный датчик на линии */
|
||||||
|
result = DS18B20_ReadScratchpad(onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&scratchpad);
|
||||||
|
if (result != HAL_OK)
|
||||||
|
return result;
|
||||||
|
|
||||||
for(int rom_ind = 0; rom_ind < DALLAS_ROM_SIZE; rom_ind++)
|
/* Сравнение UserByte1 и UserByte2, если они не равны нулю */
|
||||||
|
if(sensor->Init.UserBytes12 != NULL)
|
||||||
{
|
{
|
||||||
/* Ïðîâåðêà ïðèñóòñòâóåò ëè âûáðàííûé äàò÷èê íà ëèíèè */
|
if( (scratchpad.tHighRegister == UserByte1) &&
|
||||||
result = DS18B20_ReadScratchpad(onewire, (uint8_t *)&DS.DevAddr[i], (uint8_t *)&scratchpad);
|
(scratchpad.tLowRegister == UserByte2))
|
||||||
if (result != HAL_OK)
|
|
||||||
return result;
|
|
||||||
|
|
||||||
/* Ñðàâíåíèå UserByte1 è UserByte2, åñëè îíè íå ðàâíû íóëþ */
|
|
||||||
if(sensor->Init.UserBytes12 != NULL)
|
|
||||||
{
|
|
||||||
if( (scratchpad.tHighRegister == UserByte1) &&
|
|
||||||
(scratchpad.tLowRegister == UserByte2))
|
|
||||||
{
|
|
||||||
UserByte12Cmp = 1;
|
|
||||||
}
|
|
||||||
}/* Åñëè ñðàâíåíèå UserByte1 è UserByte2 íå âûáðàíî, òî ñ÷èòàåì ÷òî îíè ñîâïàäàþò */
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
UserByte12Cmp = 1;
|
UserByte12Cmp = 1;
|
||||||
}
|
}
|
||||||
/* Ñðàâíåíèå UserByte3 è UserByte4, åñëè îíè íå ðàâíû íóëþ */
|
}/* Если сравнение UserByte1 и UserByte2 не выбрано, то считаем что они совпадают */
|
||||||
if(sensor->Init.UserBytes34 != NULL)
|
else
|
||||||
{
|
{
|
||||||
if( (scratchpad.UserByte3 == UserByte3) &&
|
UserByte12Cmp = 1;
|
||||||
(scratchpad.UserByte4 == UserByte4))
|
}
|
||||||
{
|
/* Сравнение UserByte3 и UserByte4, если они не равны нулю */
|
||||||
UserByte34Cmp = 1;
|
if(sensor->Init.UserBytes34 != NULL)
|
||||||
}
|
{
|
||||||
}/* Åñëè ñðàâíåíèå UserByte3 è UserByte4 íå âûáðàíî, òî ñ÷èòàåì ÷òî îíè îäèíàêîâûå */
|
if( (scratchpad.UserByte3 == UserByte3) &&
|
||||||
else
|
(scratchpad.UserByte4 == UserByte4))
|
||||||
{
|
{
|
||||||
UserByte34Cmp = 1;
|
UserByte34Cmp = 1;
|
||||||
}
|
}
|
||||||
/* Åñëè íàøëè íóæíûé äàò÷èê - çàâåðøàåì ïîèñê */
|
}/* Если сравнение UserByte3 и UserByte4 не выбрано, то считаем что они одинаковые */
|
||||||
if(UserByte12Cmp && UserByte34Cmp)
|
else
|
||||||
{
|
{
|
||||||
// sensor->isInitialized = 1;
|
UserByte34Cmp = 1;
|
||||||
// sensor->Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
}
|
||||||
result = Dallas_SensorInit(onewire, sensor, &DS.DevAddr[i]);
|
/* Если нашли нужный датчик - завершаем поиск */
|
||||||
return result;
|
if(UserByte12Cmp && UserByte34Cmp)
|
||||||
}
|
{
|
||||||
|
// sensor->isInitialized = 1;
|
||||||
|
// sensor->Init.init_func = (HAL_StatusTypeDef (*)())Dallas_SensorInitByUserBytes;
|
||||||
|
result = Dallas_SensorInit(onewire, sensor, &DS.DevAddr[i]);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Dallas_SensorDeInit(sensor);
|
|
||||||
/* Âîçâðàùàåì îøèáêó åñëè íå íàøëè */
|
/* Âîçâðàùàåì îøèáêó åñëè íå íàøëè */
|
||||||
return HAL_ERROR;
|
return HAL_ERROR;
|
||||||
}
|
}
|
||||||
@@ -368,8 +247,6 @@ HAL_StatusTypeDef Dallas_SensorInit(OneWire_t *onewire, DALLAS_HandleTypeDef *se
|
|||||||
if(onewire == 0)
|
if(onewire == 0)
|
||||||
return HAL_ERROR;
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sensor->onewire = onewire;
|
sensor->onewire = onewire;
|
||||||
|
|
||||||
for(int i = 0; i < DALLAS_ROM_SIZE; i++)
|
for(int i = 0; i < DALLAS_ROM_SIZE; i++)
|
||||||
@@ -389,14 +266,12 @@ HAL_StatusTypeDef Dallas_SensorInit(OneWire_t *onewire, DALLAS_HandleTypeDef *se
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
sensor->isInitialized = 0;
|
sensor->isInitialized = 0;
|
||||||
Dallas_SensorDeInit(sensor);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sensor->isInitialized = 0;
|
sensor->isInitialized = 0;
|
||||||
Dallas_SensorDeInit(sensor);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -414,12 +289,10 @@ HAL_StatusTypeDef Dallas_SensorDeInit(DALLAS_HandleTypeDef *sensor)
|
|||||||
return HAL_ERROR;
|
return HAL_ERROR;
|
||||||
|
|
||||||
DALLAS_InitStructTypeDef initbuff = sensor->Init;
|
DALLAS_InitStructTypeDef initbuff = sensor->Init;
|
||||||
DALLAS_ControlTypeDef ctrlbuff = sensor->Control;
|
|
||||||
|
|
||||||
memset(sensor, 0, sizeof(DALLAS_HandleTypeDef));
|
memset(sensor, 0, sizeof(DALLAS_HandleTypeDef));
|
||||||
|
|
||||||
sensor->Init = initbuff;
|
sensor->Init = initbuff;
|
||||||
sensor->Control = ctrlbuff;
|
|
||||||
|
|
||||||
return HAL_OK;
|
return HAL_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,9 +111,7 @@ typedef enum
|
|||||||
|
|
||||||
|
|
||||||
/* Functions ---------------------------------------------------------------*/
|
/* Functions ---------------------------------------------------------------*/
|
||||||
void Dallas_Init(DALLAS_HandleTypeDef *sensor, UART_HandleTypeDef *huart);
|
|
||||||
void Dallas_ReadAll(void);
|
|
||||||
void Dallas_FirstInit(void);
|
|
||||||
/* Функция для нахождения нового датчика на место потерянного */
|
/* Функция для нахождения нового датчика на место потерянного */
|
||||||
HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_HandleTypeDef *sensor);
|
HAL_StatusTypeDef Dallas_ReplaceLostedSensor(DALLAS_HandleTypeDef *sensor);
|
||||||
/* Функция для иниицализации нового датчика в структуре */
|
/* Функция для иниицализации нового датчика в структуре */
|
||||||
|
|||||||
173
DS18B20/pch_sensors.c
Normal file
173
DS18B20/pch_sensors.c
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file pch_sensors.c
|
||||||
|
* @brief Ðàáîòà ñ äàò÷èêàìè òåìïåðàòóðû DS18B20 â Ï×
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/* Includes ----------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "pch_sensors.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* Declarations and definitions --------------------------------------------*/
|
||||||
|
|
||||||
|
PCHSens_ModuleTypeDef module1;
|
||||||
|
/* Functions ---------------------------------------------------------------*/
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PCHSens_InitNewSensor(OneWire_t *onewire, PCH_SensorTypeDef* sensor, uint64_t ROM, PCHSens_LocationTypeDef *location)
|
||||||
|
{
|
||||||
|
DALLAS_HandleTypeDef tempsens;
|
||||||
|
HAL_StatusTypeDef result;
|
||||||
|
if(onewire == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(sensor == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(location == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
PCHSens_LocationTypeDef initlocation = *location;
|
||||||
|
|
||||||
|
sensor->Location = (PCHSens_LocationTypeDef *)&sensor->sens.scratchpad.tHighRegister;
|
||||||
|
|
||||||
|
sensor->sens.Init.ROM = ROM;
|
||||||
|
|
||||||
|
sensor->sens.Init.UserBytes12 = initlocation.all;
|
||||||
|
|
||||||
|
sensor->sens.Init.init_func = &Dallas_SensorInitByROM;
|
||||||
|
|
||||||
|
result = Dallas_AddNewSensors(onewire, &sensor->sens);
|
||||||
|
if(result != HAL_OK)
|
||||||
|
return result;
|
||||||
|
|
||||||
|
result = Dallas_WriteUserBytes(&sensor->sens, initlocation.all, 0, DALLAS_USER_BYTE_12);
|
||||||
|
if(result != HAL_OK)
|
||||||
|
return result;
|
||||||
|
|
||||||
|
sensor->sens.Init.init_func = &Dallas_SensorInitByUserBytes;
|
||||||
|
|
||||||
|
return Dallas_AddNewSensors(onewire, &sensor->sens);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PCHSens_FindSensor(OneWire_t *onewire, PCH_SensorTypeDef* sensor, PCHSens_LocationTypeDef *location)
|
||||||
|
{
|
||||||
|
if(onewire == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(sensor == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(location == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
PCHSens_LocationTypeDef initlocation = *location;
|
||||||
|
|
||||||
|
sensor->Location = (PCHSens_LocationTypeDef *)&sensor->sens.scratchpad.tHighRegister;
|
||||||
|
|
||||||
|
sensor->sens.Init.UserBytes12 = initlocation.all;
|
||||||
|
|
||||||
|
sensor->sens.Init.init_func = &Dallas_SensorInitByUserBytes;
|
||||||
|
|
||||||
|
return Dallas_AddNewSensors(onewire, &sensor->sens);
|
||||||
|
}
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PCHSens_FindModule(OneWire_t *onewire, PCHSens_ModuleTypeDef* module, PCHSens_LocationTypeDef *location, uint8_t init)
|
||||||
|
{
|
||||||
|
if(onewire == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
if(module == NULL)
|
||||||
|
return HAL_ERROR;
|
||||||
|
|
||||||
|
PCHSens_LocationTypeDef initlocation = *location;
|
||||||
|
|
||||||
|
module->onewire = onewire;
|
||||||
|
module->refLocation = initlocation;
|
||||||
|
|
||||||
|
if(init == 0)
|
||||||
|
{
|
||||||
|
initlocation.location.Location = 0;
|
||||||
|
PCHSens_FindSensor(onewire, &module->sens1, &initlocation);
|
||||||
|
|
||||||
|
initlocation.location.Location = 1;
|
||||||
|
PCHSens_FindSensor(onewire, &module->sens2, &initlocation);
|
||||||
|
|
||||||
|
initlocation.location.Location = 2;
|
||||||
|
PCHSens_FindSensor(onewire, &module->sens3, &initlocation);
|
||||||
|
|
||||||
|
initlocation.location.Location = 3;
|
||||||
|
PCHSens_FindSensor(onewire, &module->sens4, &initlocation);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
uint64_t ROM = 0x28366a48f6563c8d;
|
||||||
|
initlocation.location.Location = 0;
|
||||||
|
PCHSens_InitNewSensor(onewire, &module->sens1, ROM, &initlocation);
|
||||||
|
|
||||||
|
ROM = 0x28CF5248F6BB3C2F;
|
||||||
|
initlocation.location.Location = 1;
|
||||||
|
PCHSens_InitNewSensor(onewire, &module->sens2, ROM, &initlocation);
|
||||||
|
|
||||||
|
ROM = 0x28876D60060000CD;
|
||||||
|
initlocation.location.Location = 2;
|
||||||
|
PCHSens_InitNewSensor(onewire, &module->sens3, ROM, &initlocation);
|
||||||
|
|
||||||
|
ROM = 0;
|
||||||
|
initlocation.location.Location = 3;
|
||||||
|
PCHSens_InitNewSensor(onewire, &module->sens4, ROM, &initlocation);
|
||||||
|
}
|
||||||
|
return HAL_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HAL_StatusTypeDef PCHSens_ReadModuleTemperature(PCHSens_ModuleTypeDef *module)
|
||||||
|
{
|
||||||
|
HAL_StatusTypeDef result;
|
||||||
|
|
||||||
|
result = Dallas_StartConvertTAll(module->onewire, DALLAS_WAIT_BUS, 0);
|
||||||
|
|
||||||
|
result = Dallas_ReadTemperature(&module->sens1.sens);
|
||||||
|
result = Dallas_ReadTemperature(&module->sens2.sens);
|
||||||
|
result = Dallas_ReadTemperature(&module->sens3.sens);
|
||||||
|
result = Dallas_ReadTemperature(&module->sens4.sens);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Dallas_FirstInit(void)
|
||||||
|
{
|
||||||
|
int init_find = 0;
|
||||||
|
OW.DataPin = DS_Pin;
|
||||||
|
OW.DataPort = DS_GPIO_Port;
|
||||||
|
DS.Resolution = DS18B20_RESOLUTION_9BITS;
|
||||||
|
|
||||||
|
OneWire_Init(&OW);
|
||||||
|
DS18B20_Search(&DS, &OW);
|
||||||
|
|
||||||
|
|
||||||
|
PCHSens_LocationTypeDef location;
|
||||||
|
location.all = REG_PCH_NUMB_11|REG_PCH_DIODE_NUMB_1;
|
||||||
|
PCHSens_FindModule(&OW, &module1, &location, init_find);
|
||||||
|
|
||||||
|
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.outdoor, 0);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.indoor, 2);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.bathroom, 1);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.kitchen, 3);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.big_room, 4);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.small_room, 5);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.living_room, 6);
|
||||||
|
// Dallas_SensorInitByInd(&OW, &AllSens.basement, 7);
|
||||||
|
//
|
||||||
|
// uint8_t mask = DALLAS_USER_BYTE_ALL;
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.outdoor, 1, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.indoor, 2, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.bathroom, 3, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.kitchen, 4, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.big_room, 5, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.small_room, 6, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.living_room, 7, NULL, mask);
|
||||||
|
// Dallas_WriteUserBytes(&AllSens.basement, 8, NULL, mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
117
DS18B20/pch_sensors.h
Normal file
117
DS18B20/pch_sensors.h
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file pch_sensors.h
|
||||||
|
* @brief Ðàáîòà ñ äàò÷èêàìè òåìïåðàòóðû DS18B20 â Ï×
|
||||||
|
******************************************************************************
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef PCH_SENSORS_H
|
||||||
|
#define PCH_SENSORS_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Includes -----------------------------------------------------------------*/
|
||||||
|
#include "stm32f1xx_hal.h"
|
||||||
|
#include "dallas_tools.h"
|
||||||
|
|
||||||
|
/* Declarations and definitions ---------------------------------------------*/
|
||||||
|
|
||||||
|
/* Ïîçèöèè ïàðàìåòðîâ â ROM */
|
||||||
|
#define REG_SENS_LOCATION_Pos (0) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Ëîêàöèÿ âíóòðè ìîäóëÿ" */
|
||||||
|
|
||||||
|
#define REG_PCH_LOCATION_Pos (8) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Ðàñïîëîæåíèå â Ï×" */
|
||||||
|
#define REG_PCH_DIOD_PHASE_Pos (10) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Äèîäíûé èëè ôàçíûé ìîäóëü" */
|
||||||
|
#define REG_PCH_MODULE_NUMB_Pos (8) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Ïîðÿäêîâûé íîìåð äèîäíîãî/ôàçíîãî ìîäóëÿ" */
|
||||||
|
|
||||||
|
#define REG_PCH_NUMB_Pos (11) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Ïðåîáðàçîâàòåëü ÷àñòîòû" */
|
||||||
|
#define REG_PCH_NUMB_DIGIT_1_Pos (13) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Ïåðâàÿ öèôðà íîìåðà ïðåîáðàçîâàòåëÿ ÷àñòîòû" */
|
||||||
|
#define REG_PCH_NUMB_DIGIT_2_Pos (11) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "Âòîðàÿ öèôðà íîìåðà ïðåîáðàçîâàòåëÿ ÷àñòîòû" */
|
||||||
|
|
||||||
|
#define REG_ZIP_Pos (15) /*!< @brief Ïîçèöèÿ ïàðàìåòðà "ÇÈÏ/íå ÇÈÏ" */
|
||||||
|
|
||||||
|
/* Ìàñêè ïàðàìåòðîâ â ROM */
|
||||||
|
#define REG_SENS_LOCATION_Mask ((uint16_t)0x3 << REG_SENS_LOCATION_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Ëîêàöèÿ âíóòðè ìîäóëÿ" */
|
||||||
|
|
||||||
|
#define REG_PCH_LOCATION_Mask ((uint16_t)0x7 << REG_PCH_LOCATION_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Ðàñïîëîæåíèå â Ï×" */
|
||||||
|
#define REG_PCH_DIOD_PHASE_Mask ((uint16_t)0x1 << REG_PCH_DIOD_PHASE_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Äèîäíûé èëè ôàçíûé ìîäóëü" */
|
||||||
|
#define REG_PCH_MODULE_NUMB_Mask ((uint16_t)0x3 << REG_PCH_MODULE_NUMB_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Ïîðÿäêîâûé íîìåð äèîäíîãî/ôàçíîãî ìîäóëÿ" */
|
||||||
|
|
||||||
|
#define REG_PCH_NUMB_Mask ((uint16_t)0xF << REG_PCH_NUMB_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Ïðåîáðàçîâàòåëü ÷àñòîòû" */
|
||||||
|
#define REG_PCH_NUMB_DIGIT_1_Mask ((uint16_t)0x3 << REG_PCH_NUMB_DIGIT_1_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Ïåðâàÿ öèôðà íîìåðà ïðåîáðàçîâàòåëÿ ÷àñòîòû" */
|
||||||
|
#define REG_PCH_NUMB_DIGIT_2_Mask ((uint16_t)0x3 << REG_PCH_NUMB_DIGIT_2_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "Âòîðàÿ öèôðà íîìåðà ïðåîáðàçîâàòåëÿ ÷àñòîòû" */
|
||||||
|
|
||||||
|
#define REG_ZIP_Mask ((uint16_t)0x1 << REG_ZIP_Pos) /*!< @brief Ìàñêà ïàðàìåòðà "ÇÈÏ/íå ÇÈÏ" */
|
||||||
|
|
||||||
|
/* Âàðèàíòû ïàðàìåòðîâ â ROM */
|
||||||
|
#define REG_PCH_NUMB_11 ((1 << REG_PCH_NUMB_DIGIT_1_Pos) | (1 << REG_PCH_NUMB_DIGIT_2_Pos))
|
||||||
|
#define REG_PCH_NUMB_12 ((1 << REG_PCH_NUMB_DIGIT_1_Pos) | (2 << REG_PCH_NUMB_DIGIT_2_Pos))
|
||||||
|
#define REG_PCH_NUMB_13 ((1 << REG_PCH_NUMB_DIGIT_1_Pos) | (3 << REG_PCH_NUMB_DIGIT_2_Pos))
|
||||||
|
#define REG_PCH_NUMB_21 ((2 << REG_PCH_NUMB_DIGIT_1_Pos) | (1 << REG_PCH_NUMB_DIGIT_2_Pos))
|
||||||
|
#define REG_PCH_NUMB_22 ((2 << REG_PCH_NUMB_DIGIT_1_Pos) | (2 << REG_PCH_NUMB_DIGIT_2_Pos))
|
||||||
|
#define REG_PCH_NUMB_23 ((2 << REG_PCH_NUMB_DIGIT_1_Pos) | (3 << REG_PCH_NUMB_DIGIT_2_Pos))
|
||||||
|
|
||||||
|
#define REG_PCH_DIODE_NUMB_1 ((0 << REG_PCH_DIOD_PHASE_Pos) | (1 << REG_PCH_MODULE_NUMB_Pos))
|
||||||
|
#define REG_PCH_DIODE_NUMB_2 ((0 << REG_PCH_DIOD_PHASE_Pos) | (2 << REG_PCH_MODULE_NUMB_Pos))
|
||||||
|
#define REG_PCH_DIODE_NUMB_3 ((0 << REG_PCH_DIOD_PHASE_Pos) | (3 << REG_PCH_MODULE_NUMB_Pos))
|
||||||
|
#define REG_PCH_PHASE_NUMB_1 ((1 << REG_PCH_DIOD_PHASE_Pos) | (1 << REG_PCH_MODULE_NUMB_Pos))
|
||||||
|
#define REG_PCH_PHASE_NUMB_2 ((1 << REG_PCH_DIOD_PHASE_Pos) | (2 << REG_PCH_MODULE_NUMB_Pos))
|
||||||
|
#define REG_PCH_PHASE_NUMB_3 ((1 << REG_PCH_DIOD_PHASE_Pos) | (3 << REG_PCH_MODULE_NUMB_Pos))
|
||||||
|
|
||||||
|
/* Ïîëó÷èòü ïàðàìåòð èç ROM */
|
||||||
|
#define GET_REG_SENS_LOCATION(_REG_) ((_REG_) & REG_SENS_LOCATION_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Ëîêàöèÿ âíóòðè ìîäóëÿ" */
|
||||||
|
|
||||||
|
#define GET_REG_PCH_LOCATION(_REG_) ((_REG_) & REG_PCH_LOCATION_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Ðàñïîëîæåíèå â Ï×" */
|
||||||
|
#define GET_REG_PCH_DIOD_PHASE(_REG_) ((_REG_) & REG_PCH_DIOD_PHASE_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Äèîäíûé èëè ôàçíûé ìîäóëü" */
|
||||||
|
#define GET_REG_PCH_MODULE_NUMB(_REG_) ((_REG_) & REG_PCH_MODULE_NUMB_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Ïîðÿäêîâûé íîìåð äèîäíîãî/ôàçíîãî ìîäóëÿ" */
|
||||||
|
|
||||||
|
#define GET_REG_PCH_NUMB(_REG_) ((_REG_) & REG_PCH_NUMB_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Ïðåîáðàçîâàòåëü ÷àñòîòû" */
|
||||||
|
#define GET_REG_PCH_NUMB_DIGIT_1(_REG_) ((_REG_) & REG_PCH_NUMB_DIGIT_1_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Ïåðâàÿ öèôðà íîìåðà ïðåîáðàçîâàòåëÿ ÷àñòîòû" */
|
||||||
|
#define GET_REG_PCH_NUMB_DIGIT_2(_REG_) ((_REG_) & REG_PCH_NUMB_DIGIT_2_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "Âòîðàÿ öèôðà íîìåðà ïðåîáðàçîâàòåëÿ ÷àñòîòû" */
|
||||||
|
|
||||||
|
#define GET_REG_ZIP(_REG_) ((_REG_) & REG_ZIP_Mask) /*!< @brief Ìàñêà ïàðàìåòðà "ÇÈÏ/íå ÇÈÏ" */
|
||||||
|
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
uint16_t all;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
unsigned Location:2;
|
||||||
|
unsigned reserved:6;
|
||||||
|
unsigned ModuleNumb:2;
|
||||||
|
unsigned DiodeOrPhase:1;
|
||||||
|
unsigned PCHdig2:2;
|
||||||
|
unsigned PCHdig1:2;
|
||||||
|
unsigned ZIP:1;
|
||||||
|
}location;
|
||||||
|
}PCHSens_LocationTypeDef;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DALLAS_HandleTypeDef sens;
|
||||||
|
PCHSens_LocationTypeDef *Location;
|
||||||
|
}PCH_SensorTypeDef;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
OneWire_t *onewire;
|
||||||
|
|
||||||
|
PCH_SensorTypeDef sens1;
|
||||||
|
PCH_SensorTypeDef sens2;
|
||||||
|
PCH_SensorTypeDef sens3;
|
||||||
|
PCH_SensorTypeDef sens4;
|
||||||
|
|
||||||
|
PCHSens_LocationTypeDef refLocation;
|
||||||
|
}PCHSens_ModuleTypeDef;
|
||||||
|
extern PCHSens_ModuleTypeDef module1;
|
||||||
|
|
||||||
|
|
||||||
|
/* Functions ---------------------------------------------------------------*/
|
||||||
|
HAL_StatusTypeDef PCHSens_InitNewSensor(OneWire_t *onewire, PCH_SensorTypeDef* sensor, uint64_t ROM, PCHSens_LocationTypeDef *location);
|
||||||
|
HAL_StatusTypeDef PCHSens_FindSensor(OneWire_t *onewire, PCH_SensorTypeDef* sensor, PCHSens_LocationTypeDef *location);
|
||||||
|
HAL_StatusTypeDef PCHSens_FindModule(OneWire_t *onewire, PCHSens_ModuleTypeDef* module, PCHSens_LocationTypeDef *location, uint8_t init);
|
||||||
|
HAL_StatusTypeDef PCHSens_ReadModuleTemperature(PCHSens_ModuleTypeDef *module);
|
||||||
|
|
||||||
|
void Dallas_FirstInit(void);
|
||||||
|
#endif // #ifndef PCH_SENSORS_H
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
/* Private includes ----------------------------------------------------------*/
|
/* Private includes ----------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
#include "dallas_tools.h"
|
#include "pch_sensors.h"
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
/* Private typedef -----------------------------------------------------------*/
|
/* Private typedef -----------------------------------------------------------*/
|
||||||
@@ -103,16 +103,12 @@ int main(void)
|
|||||||
/* USER CODE BEGIN WHILE */
|
/* USER CODE BEGIN WHILE */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
Dallas_ReadAll();
|
PCHSens_ReadModuleTemperature(&module1);
|
||||||
|
// Dallas_ReadAll();
|
||||||
/* Start temperature conversion on all devices on one bus */
|
/* Start temperature conversion on all devices on one bus */
|
||||||
// DS18B20_StartConvTAll(&OW);
|
// DS18B20_StartConvTAll(&OW);
|
||||||
// DS18B20_WaitForEndConvertion(&OW);
|
// DS18B20_WaitForEndConvertion(&OW);
|
||||||
/* Read temperature from device and store it to DS data structure */
|
|
||||||
for(uint8_t i = 0; i < OW.RomCnt; i++)
|
|
||||||
{
|
|
||||||
/* Read Temperature */
|
|
||||||
// DS18B20_CalcTemperature(&OW, DS.DevAddr[i], &DS.Temperature[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Search Alarm triggered and store in DS data structure */
|
/* Search Alarm triggered and store in DS data structure */
|
||||||
// DS18B20_AlarmSearch(&DS, &OW);
|
// DS18B20_AlarmSearch(&DS, &OW);
|
||||||
|
|||||||
@@ -152,23 +152,23 @@
|
|||||||
<Bp>
|
<Bp>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>366</LineNumber>
|
<LineNumber>294</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>0</Address>
|
<Address>134220332</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
<HtxType>0</HtxType>
|
<HtxType>0</HtxType>
|
||||||
<ManyObjects>0</ManyObjects>
|
<ManyObjects>0</ManyObjects>
|
||||||
<SizeOfObject>0</SizeOfObject>
|
<SizeOfObject>0</SizeOfObject>
|
||||||
<BreakByAccess>0</BreakByAccess>
|
<BreakByAccess>0</BreakByAccess>
|
||||||
<BreakIfRCount>0</BreakIfRCount>
|
<BreakIfRCount>1</BreakIfRCount>
|
||||||
<Filename>..\..\DS18B20\dallas_tools.c</Filename>
|
<Filename>..\..\DS18B20\dallas_tools.c</Filename>
|
||||||
<ExecCommand></ExecCommand>
|
<ExecCommand></ExecCommand>
|
||||||
<Expression></Expression>
|
<Expression>\\ds18b20\../../DS18B20/dallas_tools.c\294</Expression>
|
||||||
</Bp>
|
</Bp>
|
||||||
<Bp>
|
<Bp>
|
||||||
<Number>1</Number>
|
<Number>1</Number>
|
||||||
<Type>0</Type>
|
<Type>0</Type>
|
||||||
<LineNumber>257</LineNumber>
|
<LineNumber>291</LineNumber>
|
||||||
<EnabledFlag>1</EnabledFlag>
|
<EnabledFlag>1</EnabledFlag>
|
||||||
<Address>0</Address>
|
<Address>0</Address>
|
||||||
<ByteObject>0</ByteObject>
|
<ByteObject>0</ByteObject>
|
||||||
@@ -196,54 +196,34 @@
|
|||||||
<Ww>
|
<Ww>
|
||||||
<count>2</count>
|
<count>2</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>GPIO_InitStruct</ItemText>
|
<ItemText>ROM</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>3</count>
|
<count>3</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>config</ItemText>
|
<ItemText>sensor</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>4</count>
|
<count>4</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>outdoor</ItemText>
|
<ItemText>initlocation</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>5</count>
|
<count>5</count>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>AllSens,0x10</ItemText>
|
<ItemText>scratchpad</ItemText>
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>6</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>pin_numb</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>7</count>
|
|
||||||
<WinNumber>1</WinNumber>
|
|
||||||
<ItemText>usec,0x0A</ItemText>
|
|
||||||
</Ww>
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<WatchWindow2>
|
<WatchWindow2>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
<WinNumber>2</WinNumber>
|
<WinNumber>2</WinNumber>
|
||||||
<ItemText>ROM</ItemText>
|
<ItemText>module1</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>1</count>
|
<count>1</count>
|
||||||
<WinNumber>2</WinNumber>
|
<WinNumber>2</WinNumber>
|
||||||
<ItemText>ROM[0]</ItemText>
|
<ItemText>init_find</ItemText>
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>2</count>
|
|
||||||
<WinNumber>2</WinNumber>
|
|
||||||
<ItemText>ROM[1]</ItemText>
|
|
||||||
</Ww>
|
|
||||||
<Ww>
|
|
||||||
<count>3</count>
|
|
||||||
<WinNumber>2</WinNumber>
|
|
||||||
<ItemText>intROM</ItemText>
|
|
||||||
</Ww>
|
</Ww>
|
||||||
</WatchWindow2>
|
</WatchWindow2>
|
||||||
<Tracepoint>
|
<Tracepoint>
|
||||||
@@ -617,6 +597,30 @@
|
|||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\DS18B20\pch_sensors.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>pch_sensors.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>24</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\..\DS18B20\pch_sensors.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>pch_sensors.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>5</GroupNumber>
|
||||||
|
<FileNumber>25</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\..\DS18B20\dallas_tools.c</PathWithFileName>
|
<PathWithFileName>..\..\DS18B20\dallas_tools.c</PathWithFileName>
|
||||||
<FilenameWithoutPath>dallas_tools.c</FilenameWithoutPath>
|
<FilenameWithoutPath>dallas_tools.c</FilenameWithoutPath>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
@@ -624,7 +628,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>24</FileNumber>
|
<FileNumber>26</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -636,7 +640,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>25</FileNumber>
|
<FileNumber>27</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -648,7 +652,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>26</FileNumber>
|
<FileNumber>28</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -660,7 +664,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>27</FileNumber>
|
<FileNumber>29</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -672,7 +676,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>28</FileNumber>
|
<FileNumber>30</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -684,7 +688,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>29</FileNumber>
|
<FileNumber>31</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -696,7 +700,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>30</FileNumber>
|
<FileNumber>32</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -708,7 +712,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>31</FileNumber>
|
<FileNumber>33</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
@@ -720,7 +724,7 @@
|
|||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>32</FileNumber>
|
<FileNumber>34</FileNumber>
|
||||||
<FileType>5</FileType>
|
<FileType>5</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
|||||||
@@ -566,6 +566,16 @@
|
|||||||
<Group>
|
<Group>
|
||||||
<GroupName>DS18B20</GroupName>
|
<GroupName>DS18B20</GroupName>
|
||||||
<Files>
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>pch_sensors.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\..\DS18B20\pch_sensors.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>pch_sensors.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\..\DS18B20\pch_sensors.h</FilePath>
|
||||||
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>dallas_tools.c</FileName>
|
<FileName>dallas_tools.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
|
|||||||
Reference in New Issue
Block a user