CuVoodoo STM32F1 firmware template
onewire_master.h
Go to the documentation of this file.
1 /* This program is free software: you can redistribute it and/or modify
2  * it under the terms of the GNU General Public License as published by
3  * the Free Software Foundation, either version 3 of the License, or
4  * (at your option) any later version.
5  *
6  * This program is distributed in the hope that it will be useful,
7  * but WITHOUT ANY WARRANTY; without even the implied warranty of
8  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9  * GNU General Public License for more details.
10  *
11  * You should have received a copy of the GNU General Public License
12  * along with this program. If not, see <http://www.gnu.org/licenses/>.
13  *
14  */
22 #pragma once
23 
28 #define ONEWIRE_MASTER_PORT C
29 #define ONEWIRE_MASTER_PIN 9
34 void onewire_master_setup(void);
35 
37 void onewire_master_release(void);
41 bool onewire_master_reset(void);
48 uint8_t onewire_master_crc(uint8_t* data, uint32_t length);
53 uint64_t onewire_master_rom_read(void);
62 bool onewire_master_rom_search(uint64_t* code, bool alarm);
67 bool onewire_master_rom_skip(void);
73 bool onewire_master_rom_match(uint64_t code);
79 bool onewire_master_read_byte(uint8_t* data);
85 bool onewire_master_write_byte(uint8_t data);
93 bool onewire_master_function_read(uint8_t function, uint8_t* data, uint32_t bits);
101 bool onewire_master_function_write(uint8_t function, uint8_t* data, uint32_t bits);
bool onewire_master_write_byte(uint8_t data)
write data byte
uint64_t onewire_master_rom_read(void)
send READ ROM command and read ROM code response
bool onewire_master_reset(void)
send reset pulse
bool onewire_master_rom_search(uint64_t *code, bool alarm)
send SEARCH ROM command
bool onewire_master_function_read(uint8_t function, uint8_t *data, uint32_t bits)
issue function and read data
bool onewire_master_read_byte(uint8_t *data)
read data byte
bool onewire_master_rom_skip(void)
send SKIP ROM command (all slaves on the bus will be selected)
void onewire_master_release(void)
release 1-wire peripheral
uint8_t onewire_master_crc(uint8_t *data, uint32_t length)
compute CRC for 1-Wire
bool onewire_master_rom_match(uint64_t code)
send MATCH ROM command to select a specific slave
bool onewire_master_function_write(uint8_t function, uint8_t *data, uint32_t bits)
issue function and write data