diff options
Diffstat (limited to 'src/ds18b20')
-rw-r--r-- | src/ds18b20/ds18b20.c | 69 | ||||
-rw-r--r-- | src/ds18b20/ds18b20.h | 39 | ||||
-rw-r--r-- | src/ds18b20/tm_stm32f4_onewire.c | 7 |
3 files changed, 3 insertions, 112 deletions
diff --git a/src/ds18b20/ds18b20.c b/src/ds18b20/ds18b20.c deleted file mode 100644 index 7470f9d..0000000 --- a/src/ds18b20/ds18b20.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2015 Matthias P. Braendli - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. -*/ - -#include "ds18b20.h" -#include "tm_stm32f4_ds18b20.h" -#include "tm_stm32f4_onewire.h" -#include "stm32f4xx.h" -#include "FreeRTOS.h" -#include "task.h" - -static TM_OneWire_t tm_onewire; - -void ds18b20_init() -{ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); - - GPIO_InitTypeDef GPIO_InitStructure; - GPIO_InitStructure.GPIO_Pin = ONEWIRE_PIN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - TM_OneWire_Init(&tm_onewire, GPIOA, ONEWIRE_PIN); -} - -int ds18b20_gettemp(float *temperature) -{ - uint8_t rom_addr[8]; - - TM_DS18B20_StartAll(&tm_onewire); - int status = TM_OneWire_First(&tm_onewire); - if (status) { - //Save ROM number from device - TM_OneWire_GetFullROM(&tm_onewire, rom_addr); - - TM_DS18B20_Start(&tm_onewire, rom_addr); - - // The sensor needs time to do the conversion - vTaskDelay(100 / portTICK_RATE_MS); - - status = TM_DS18B20_Read(&tm_onewire, rom_addr, temperature); - } - - return status; -} - diff --git a/src/ds18b20/ds18b20.h b/src/ds18b20/ds18b20.h deleted file mode 100644 index defdaf4..0000000 --- a/src/ds18b20/ds18b20.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2015 Matthias P. Braendli - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. -*/ - -#pragma once - -/* See pio.txt for PIO allocation details */ - -/* On GPIO A */ -#define ONEWIRE_PIN GPIO_Pin_1 // PA1 - -void ds18b20_init(void); - -/* Measure temperature measured by DS18B20 in degrees C. - * - * Returns 1 on success, 0 on failure - */ -int ds18b20_gettemp(float* temperature); - diff --git a/src/ds18b20/tm_stm32f4_onewire.c b/src/ds18b20/tm_stm32f4_onewire.c index 0890b27..44ec8db 100644 --- a/src/ds18b20/tm_stm32f4_onewire.c +++ b/src/ds18b20/tm_stm32f4_onewire.c @@ -18,8 +18,7 @@ */
#include "tm_stm32f4_onewire.h"
-void usart_debug_puts(const char* str);
-void delay(const uint64_t us);
+void delay_us(uint32_t);
static void
TM_GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
@@ -62,9 +61,9 @@ TM_GPIO_GetInputPinValue(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) }
static void
-ONEWIRE_DELAY(int us)
+ONEWIRE_DELAY(uint32_t micros)
{
- delay(us);
+ delay_us(micros);
}
void TM_OneWire_Init(TM_OneWire_t* OneWireStruct, GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) {
|