31 #define TM_ONEWIRE_H 210
85 #include "stm32f4xx.h"
86 #include "stm32f4xx_rcc.h"
87 #include "stm32f4xx_gpio.h"
89 #include "tm_stm32f4_delay.h"
90 #include "tm_stm32f4_gpio.h"
99 #define ONEWIRE_DELAY(x) Delay(x)
102 #define ONEWIRE_LOW(structure) TM_GPIO_SetPinLow((structure)->GPIOx, (structure)->GPIO_Pin)
103 #define ONEWIRE_HIGH(structure) TM_GPIO_SetPinHigh((structure)->GPIOx, (structure)->GPIO_Pin)
104 #define ONEWIRE_INPUT(structure) TM_GPIO_SetPinAsInput(structure->GPIOx, (structure)->GPIO_Pin)
105 #define ONEWIRE_OUTPUT(structure) TM_GPIO_SetPinAsOutput(structure->GPIOx, (structure)->GPIO_Pin)
108 #define ONEWIRE_CMD_RSCRATCHPAD 0xBE
109 #define ONEWIRE_CMD_WSCRATCHPAD 0x4E
110 #define ONEWIRE_CMD_CPYSCRATCHPAD 0x48
111 #define ONEWIRE_CMD_RECEEPROM 0xB8
112 #define ONEWIRE_CMD_RPWRSUPPLY 0xB4
113 #define ONEWIRE_CMD_SEARCHROM 0xF0
114 #define ONEWIRE_CMD_READROM 0x33
115 #define ONEWIRE_CMD_MATCHROM 0x55
116 #define ONEWIRE_CMD_SKIPROM 0xCC
uint8_t TM_OneWire_CRC8(uint8_t *addr, uint8_t len)
Calculates 8-bit CRC for 1-wire devices.
uint8_t LastDeviceFlag
Definition: tm_stm32f4_onewire.h:137
void TM_OneWire_ResetSearch(TM_OneWire_t *OneWireStruct)
Resets search states.
uint8_t TM_OneWire_First(TM_OneWire_t *OneWireStruct)
Starts search, reset states first.
void TM_OneWire_GetFullROM(TM_OneWire_t *OneWireStruct, uint8_t *firstIndex)
Gets all 8 bytes ROM value from device from search.
uint8_t TM_OneWire_ReadBit(TM_OneWire_t *OneWireStruct)
Reads single bit from one wire bus.
OneWire working struct.
Definition: tm_stm32f4_onewire.h:132
void TM_OneWire_Select(TM_OneWire_t *OneWireStruct, uint8_t *addr)
Selects specific slave on bus.
uint8_t LastFamilyDiscrepancy
Definition: tm_stm32f4_onewire.h:136
uint8_t TM_OneWire_Search(TM_OneWire_t *OneWireStruct, uint8_t command)
Searches for OneWire devices on specific Onewire port.
uint8_t LastDiscrepancy
Definition: tm_stm32f4_onewire.h:135
uint8_t TM_OneWire_ReadByte(TM_OneWire_t *OneWireStruct)
Reads byte from one wire bus.
uint8_t TM_OneWire_Next(TM_OneWire_t *OneWireStruct)
Reads next device.
uint8_t TM_OneWire_Reset(TM_OneWire_t *OneWireStruct)
Resets OneWire bus.
GPIO_TypeDef * GPIOx
Definition: tm_stm32f4_onewire.h:133
uint8_t TM_OneWire_GetROM(TM_OneWire_t *OneWireStruct, uint8_t index)
Gets ROM number from device from search.
void TM_OneWire_SelectWithPointer(TM_OneWire_t *OneWireStruct, uint8_t *ROM)
Selects specific slave on bus with pointer address.
void TM_OneWire_WriteByte(TM_OneWire_t *OneWireStruct, uint8_t byte)
Writes byte to bus.
void TM_OneWire_Init(TM_OneWire_t *OneWireStruct, GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Initializes OneWire bus.
uint16_t GPIO_Pin
Definition: tm_stm32f4_onewire.h:134
void TM_OneWire_WriteBit(TM_OneWire_t *OneWireStruct, uint8_t bit)
Writes single bit to onewire bus.