uTL
micro Template library
|
Classes | |
struct | is_1wire_ |
Primary template to catch any non 1-wire interface types. More... | |
struct | is_1wire_< _Tp, meta::void_t< void > > |
template to catch a proper 1-wire interface type More... | |
Typedefs | |
template<class _Tp > | |
using | try_reset_t = decltype(declval< _Tp >().reset(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | try_rx1_t = decltype(declval< _Tp >().rx_data(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | try_tx1_t = decltype(declval< _Tp >().tx_data(declval< byte_t >(), declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | try_match_t = decltype(declval< _Tp >().match(declval< _1wire_id_t & >(), declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | try_match_n_ovdr_t = decltype(declval< _Tp >().match_n_ovdr(declval< _1wire_id_t & >())) |
template<class _Tp > | |
using | try_skip_t = decltype(declval< _Tp >().skip(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | try_skip_n_ovdr_t = decltype(declval< _Tp >().skip_n_ovdr()) |
template<class _Tp > | |
using | try_first_t = decltype(declval< _Tp >().first(declval< typename _Tp::Speed >())) |
template<class _Tp > | |
using | try_next_t = decltype(declval< _Tp >().next(declval< typename _Tp::Speed >())) |
Functions | |
template<typename _T > | |
byte_t | _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 | _match (_T &obj, _1wire_id_t &id, typename _T::Speed s) |
template<typename _T > | |
void | _match_n_ovdr (_T &obj, _1wire_id_t &id) |
template<typename _T > | |
void | _skip (_T &obj, typename _T::Speed s) |
template<typename _T > | |
void | _skip_n_ovdr (_T &obj) |
template<typename _T > | |
_1wire_id_t | _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 | _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... | |
using utl::_1wire_i_det::try_first_t = typedef decltype (declval<_Tp>().first (declval<typename _Tp::Speed>())) |
using utl::_1wire_i_det::try_match_n_ovdr_t = typedef decltype (declval<_Tp>().match_n_ovdr (declval<_1wire_id_t&>())) |
using utl::_1wire_i_det::try_match_t = typedef decltype (declval<_Tp>().match (declval<_1wire_id_t&>(), declval<typename _Tp::Speed>())) |
using utl::_1wire_i_det::try_next_t = typedef decltype (declval<_Tp>().next (declval<typename _Tp::Speed>())) |
using utl::_1wire_i_det::try_reset_t = typedef decltype (declval<_Tp>().reset (declval<typename _Tp::Speed>())) |
using utl::_1wire_i_det::try_rx1_t = typedef decltype (declval<_Tp>().rx_data (declval<typename _Tp::Speed>())) |
using utl::_1wire_i_det::try_skip_n_ovdr_t = typedef decltype (declval<_Tp>().skip_n_ovdr ()) |
using utl::_1wire_i_det::try_skip_t = typedef decltype (declval<_Tp>().skip (declval<typename _Tp::Speed>())) |
using utl::_1wire_i_det::try_tx1_t = typedef decltype (declval<_Tp>().tx_data (declval<byte_t>(), declval<typename _Tp::Speed>())) |
_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.
obj | The object from which we call private members |
s | The bus speed |
void utl::_1wire_i_det::_match | ( | _T & | obj, |
_1wire_id_t & | id, | ||
typename _T::Speed | s | ||
) |
void utl::_1wire_i_det::_match_n_ovdr | ( | _T & | obj, |
_1wire_id_t & | id | ||
) |
_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.
obj | The object from which we call private members |
s | The bus speed |
void utl::_1wire_i_det::_skip | ( | _T & | obj, |
typename _T::Speed | s | ||
) |
void utl::_1wire_i_det::_skip_n_ovdr | ( | _T & | obj | ) |