uTL
micro Template library
|
An 1-wire interface implementation. More...
#include <utl/core/impl.h>
#include <utl/core/crtp.h>
#include <utl/com/_1wire_id.h>
#include <utl/meta/meta.h>
Go to the source code of this file.
Classes | |
class | utl::_1wire_i< impl_t > |
Template base class for 1-wire communication interface using CRTP. More... | |
class | utl::_1wire_i< virtual_tag > |
A virtual base class implementation. More... | |
struct | utl::_1wire_i_det::is_1wire_< _Tp, typename > |
Primary template to catch any non 1-wire interface types. More... | |
struct | utl::_1wire_i_det::is_1wire_< _Tp, meta::void_t< void > > |
template to catch a proper 1-wire interface type More... | |
Namespaces | |
utl | |
STL's core language concepts. | |
utl::_1wire_i_det | |
Typedefs | |
template<class _Tp > | |
using | utl::_1wire_i_det::try_reset_t = decltype(declval< _Tp >().reset(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_rx1_t = decltype(declval< _Tp >().rx_data(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_tx1_t = decltype(declval< _Tp >().tx_data(declval< byte_t >(), declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_match_t = decltype(declval< _Tp >().match(declval< _1wire_id_t & >(), declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_match_n_ovdr_t = decltype(declval< _Tp >().match_n_ovdr(declval< _1wire_id_t & >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_skip_t = decltype(declval< _Tp >().skip(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_skip_n_ovdr_t = decltype(declval< _Tp >().skip_n_ovdr()) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_first_t = decltype(declval< _Tp >().first(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | utl::_1wire_i_det::try_next_t = decltype(declval< _Tp >().next(declval< typename _Tp::Speed >())) |
Functions | |
template<typename _T > | |
byte_t | utl::_1wire_i_det::_touch (_T &obj, byte_t out, typename _T::Speed s) |
Write a byte to 1-Wire bus and read the response. More... | |
template<typename _T > | |
void | utl::_1wire_i_det::_match (_T &obj, _1wire_id_t &id, typename _T::Speed s) |
template<typename _T > | |
void | utl::_1wire_i_det::_match_n_ovdr (_T &obj, _1wire_id_t &id) |
template<typename _T > | |
void | utl::_1wire_i_det::_skip (_T &obj, typename _T::Speed s) |
template<typename _T > | |
void | utl::_1wire_i_det::_skip_n_ovdr (_T &obj) |
template<typename _T > | |
_1wire_id_t | utl::_1wire_i_det::_first (_T &obj, typename _T::Speed s, bool alarm) |
'first' operation, to search on the 1-Wire for the first device. This is performed by setting dec_, pos_ and cur_ to zero and then doing the search. More... | |
template<typename _T > | |
_1wire_id_t | utl::_1wire_i_det::_next (_T &obj, typename _T::Speed s, bool alarm) |
'next' operation, to search on the 1-Wire for the next device. This search is usually performed after a 'first' operation or another 'next' operation. Based on maxim-ic application note 187. More... | |
An 1-wire interface implementation.
Copyright (C) 2018 Christos Choutouridis
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file _1wire.h.