38 #define TM_ONEWIRE_H 100
71 #include "stm32fxxx_hal.h"
73 #include "tm_stm32_delay.h"
74 #include "tm_stm32_gpio.h"
83 #define ONEWIRE_DELAY(x) Delay(x)
86 #define ONEWIRE_LOW(structure) TM_GPIO_SetPinLow((structure)->GPIOx, (structure)->GPIO_Pin)
87 #define ONEWIRE_HIGH(structure) TM_GPIO_SetPinHigh((structure)->GPIOx, (structure)->GPIO_Pin)
88 #define ONEWIRE_INPUT(structure) TM_GPIO_SetPinAsInput(structure->GPIOx, (structure)->GPIO_Pin)
89 #define ONEWIRE_OUTPUT(structure) TM_GPIO_SetPinAsOutput(structure->GPIOx, (structure)->GPIO_Pin)
92 #define ONEWIRE_CMD_RSCRATCHPAD 0xBE
93 #define ONEWIRE_CMD_WSCRATCHPAD 0x4E
94 #define ONEWIRE_CMD_CPYSCRATCHPAD 0x48
95 #define ONEWIRE_CMD_RECEEPROM 0xB8
96 #define ONEWIRE_CMD_RPWRSUPPLY 0xB4
97 #define ONEWIRE_CMD_SEARCHROM 0xF0
98 #define ONEWIRE_CMD_READROM 0x33
99 #define ONEWIRE_CMD_MATCHROM 0x55
100 #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_stm32_onewire.h:121
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_stm32_onewire.h:116
void TM_OneWire_Select(TM_OneWire_t *OneWireStruct, uint8_t *addr)
Selects specific slave on bus.
uint8_t LastFamilyDiscrepancy
Definition: tm_stm32_onewire.h:120
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_stm32_onewire.h:119
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_stm32_onewire.h:117
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_stm32_onewire.h:118
void TM_OneWire_WriteBit(TM_OneWire_t *OneWireStruct, uint8_t bit)
Writes single bit to onewire bus.