CANopenNode
CO_LSSmaster.h File Reference

CANopen Layer Setting Service - master protocol. More...

#include "305/CO_LSS.h"

Go to the source code of this file.

Data Structures

struct  CO_LSSmaster_t
 LSS master object. More...
 
struct  CO_LSSmaster_fastscan_t
 Parameters for LSS fastscan CO_LSSmaster_IdentifyFastscan. More...
 

Macros

#define CO_LSSmaster_DEFAULT_TIMEOUT   1000U /* ms */
 Default timeout for LSS slave in ms. More...
 

Enumerations

enum  CO_LSSmaster_return_t {
  CO_LSSmaster_SCAN_FINISHED = 2, CO_LSSmaster_WAIT_SLAVE = 1, CO_LSSmaster_OK = 0, CO_LSSmaster_TIMEOUT = -1,
  CO_LSSmaster_ILLEGAL_ARGUMENT = -2, CO_LSSmaster_INVALID_STATE = -3, CO_LSSmaster_SCAN_NOACK = -4, CO_LSSmaster_SCAN_FAILED = -5,
  CO_LSSmaster_OK_ILLEGAL_ARGUMENT = -101, CO_LSSmaster_OK_MANUFACTURER = -102
}
 Return values of LSS master functions. More...
 
enum  CO_LSSmaster_scantype_t { CO_LSSmaster_FS_SCAN = 0, CO_LSSmaster_FS_SKIP = 1, CO_LSSmaster_FS_MATCH = 2 }
 Scan type for CO_LSSmaster_fastscan_t scan. More...
 

Functions

CO_ReturnError_t CO_LSSmaster_init (CO_LSSmaster_t *LSSmaster, uint16_t timeout_ms, CO_CANmodule_t *CANdevRx, uint16_t CANdevRxIdx, uint32_t CANidLssSlave, CO_CANmodule_t *CANdevTx, uint16_t CANdevTxIdx, uint32_t CANidLssMaster)
 Initialize LSS object. More...
 
void CO_LSSmaster_changeTimeout (CO_LSSmaster_t *LSSmaster, uint16_t timeout_ms)
 Change LSS master timeout. More...
 
void CO_LSSmaster_initCallbackPre (CO_LSSmaster_t *LSSmaster, void *object, void(*pFunctSignal)(void *object))
 Initialize LSSmasterRx callback function. More...
 
CO_LSSmaster_return_t CO_LSSmaster_switchStateSelect (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us, CO_LSS_address_t *lssAddress)
 Request LSS switch state select. More...
 
CO_LSSmaster_return_t CO_LSSmaster_switchStateDeselect (CO_LSSmaster_t *LSSmaster)
 Request LSS switch state deselect. More...
 
CO_LSSmaster_return_t CO_LSSmaster_configureBitTiming (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us, uint16_t bit)
 Request LSS configure Bit Timing. More...
 
CO_LSSmaster_return_t CO_LSSmaster_configureNodeId (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us, uint8_t nodeId)
 Request LSS configure node ID. More...
 
CO_LSSmaster_return_t CO_LSSmaster_configureStore (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us)
 Request LSS store configuration. More...
 
CO_LSSmaster_return_t CO_LSSmaster_ActivateBit (CO_LSSmaster_t *LSSmaster, uint16_t switchDelay_ms)
 Request LSS activate bit timing. More...
 
CO_LSSmaster_return_t CO_LSSmaster_InquireLssAddress (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us, CO_LSS_address_t *lssAddress)
 Request LSS inquire LSS address. More...
 
CO_LSSmaster_return_t CO_LSSmaster_Inquire (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us, CO_LSS_cs_t lssInquireCs, uint32_t *value)
 Request LSS inquire node ID or part of LSS address. More...
 
CO_LSSmaster_return_t CO_LSSmaster_IdentifyFastscan (CO_LSSmaster_t *LSSmaster, uint32_t timeDifference_us, CO_LSSmaster_fastscan_t *fastscan)
 Select a node by LSS identify fastscan. More...
 

Detailed Description

CANopen Layer Setting Service - master protocol.

Author
Martin Wagner

This file is part of CANopenNode, an opensource CANopen Stack. Project home page is https://github.com/CANopenNode/CANopenNode. For more information on CANopen see http://www.can-cia.org/.

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.