Lely core libraries
2.3.4
|
#include <lely/coapp/node.hpp>
#include <lely/libc/functional.hpp>
#include <lely/libc/type_traits.hpp>
#include <chrono>
#include <memory>
#include <utility>
Go to the source code of this file.
Namespaces | |
lely::canopen | |
The namespace for the C++ CANopen application library. | |
lely::canopen::detail | |
The namespace for implementation details of the C++ CANopen application library. | |
Typedefs | |
template<class T > | |
using | lely::canopen::LssPromise = ev::Promise< T, ::std::exception_ptr > |
A helper alias template for the type of promise used to store the result of an asynchronous LSS request. More... | |
template<class T > | |
using | lely::canopen::LssFuture = ev::Future< T, ::std::exception_ptr > |
A helper alias template for the type of future used to retrieve the result of an asynchronous LSS request. More... | |
Enumerations | |
enum | lely::canopen::LssState { lely::canopen::LssState::WAITING = 0, lely::canopen::LssState::CONFIG = 1 } |
The states of the LSS finite state automaton (FSA) of a slave device. More... | |
Functions | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code >::value, detail::LssSwitchRequestWrapper< F > * >::type | lely::canopen::make_lss_switch_request (ev_exec_t *exec, LssState state, F &&con) |
Creates an LSS 'switch state global' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code >::value, detail::LssSwitchSelectiveRequestWrapper< F > * >::type | lely::canopen::make_lss_switch_selective_request (ev_exec_t *exec, const LssAddress &address, F &&con) |
Creates an LSS 'switch state selective' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code >::value, detail::LssSetIdRequestWrapper< F > * >::type | lely::canopen::make_lss_set_id_request (ev_exec_t *exec, uint8_t id, F &&con) |
Creates an LSS 'configure node-ID' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code >::value, detail::LssSetBitrateRequestWrapper< F > * >::type | lely::canopen::make_lss_set_bitrate_request (ev_exec_t *exec, int bitrate, F &&con) |
Creates an LSS 'configure bit timing parameters' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code >::value, detail::LssSwitchBitrateRequestWrapper< F > * >::type | lely::canopen::make_lss_switch_bitrate_request (ev_exec_t *exec, int delay, F &&con) |
Creates an LSS 'activate bit timing parameters' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code >::value, detail::LssStoreRequestWrapper< F > * >::type | lely::canopen::make_lss_store_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'store configuration' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, uint32_t >::value, detail::LssGetVendorIdRequestWrapper< F > * >::type | lely::canopen::make_lss_get_vendor_id_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity vendor-ID' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, uint32_t >::value, detail::LssGetProductCodeRequestWrapper< F > * >::type | lely::canopen::make_lss_get_product_code_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity product-code' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, uint32_t >::value, detail::LssGetRevisionRequestWrapper< F > * >::type | lely::canopen::make_lss_get_revision_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity revision-number' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, uint32_t >::value, detail::LssGetSerialNrRequestWrapper< F > * >::type | lely::canopen::make_lss_get_serial_nr_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire identity serial-number' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, uint8_t >::value, detail::LssGetIdRequestWrapper< F > * >::type | lely::canopen::make_lss_get_id_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'inquire node-ID' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, bool >::value, detail::LssIdNonConfigRequestWrapper< F > * >::type | lely::canopen::make_lss_id_non_config_request (ev_exec_t *exec, F &&con) |
Creates an LSS 'identify non-configured remote slave' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, LssAddress >::value, detail::LssSlowscanRequestWrapper< F > * >::type | lely::canopen::make_lss_slowscan_request (ev_exec_t *exec, const LssAddress &lo, const LssAddress &hi, F &&con) |
Creates an 'LSS Slowscan' request with a completion task. More... | |
template<class F > | |
typename ::std::enable_if< compat::is_invocable< F, ::std::error_code, LssAddress >::value, detail::LssFastscanRequestWrapper< F > * >::type | lely::canopen::make_lss_fastscan_request (ev_exec_t *exec, const LssAddress &address, const LssAddress &mask, F &&con) |
Creates an 'LSS Fastscan' request with a completion task. More... | |
This header file is part of the C++ CANopen application library; it contains the CANopen Layer Setting Services (LSS) master declarations.
For more information about the LSS protocol, see CiA 305 v3.0.0.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file lss_master.hpp.