868 lines
32 KiB
C
868 lines
32 KiB
C
|
/*!
|
|||
|
Copyright 2017 <EFBFBD><EFBFBD> "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" <EFBFBD> <EFBFBD><EFBFBD><EFBFBD> "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
|||
|
|
|||
|
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.
|
|||
|
|
|||
|
\file co_ODvars.h
|
|||
|
\brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CANOpen
|
|||
|
\author <EFBFBD><EFBFBD><EFBFBD> "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>". http://motorcontrol.ru
|
|||
|
\version v 2.3 28/06/2019
|
|||
|
|
|||
|
\defgroup CANOpen_drv <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CANOpen
|
|||
|
@{
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef CO_OD_VARS_H
|
|||
|
#define CO_OD_VARS_H
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
#include "DSP.h"
|
|||
|
|
|||
|
//****************************************************************************************************************************************
|
|||
|
//! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<2D><> CAN
|
|||
|
#define CO1_SPI_START_ADDR 0
|
|||
|
//! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> SPI <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2-<2D><> CAN
|
|||
|
#define CO2_SPI_START_ADDR 3500
|
|||
|
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO
|
|||
|
#define RPDO1NUMOFPARAMS 4
|
|||
|
#define RPDO2NUMOFPARAMS 4
|
|||
|
#define RPDO3NUMOFPARAMS 4
|
|||
|
#define RPDO4NUMOFPARAMS 4
|
|||
|
#define RPDO5NUMOFPARAMS 4
|
|||
|
#define RPDO6NUMOFPARAMS 4
|
|||
|
#define RPDO7NUMOFPARAMS 4
|
|||
|
#define RPDO8NUMOFPARAMS 4
|
|||
|
|
|||
|
#define TPDO1NUMOFPARAMS 4
|
|||
|
#define TPDO2NUMOFPARAMS 4
|
|||
|
#define TPDO3NUMOFPARAMS 4
|
|||
|
#define TPDO4NUMOFPARAMS 4
|
|||
|
#define TPDO5NUMOFPARAMS 4
|
|||
|
#define TPDO6NUMOFPARAMS 4
|
|||
|
#define TPDO7NUMOFPARAMS 4
|
|||
|
#define TPDO8NUMOFPARAMS 4
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
typedef struct {
|
|||
|
Uint16 co_DIV8[6];
|
|||
|
Uint16 co_BRP[6];
|
|||
|
Uint16 co_TSEG1[6];
|
|||
|
Uint16 co_TSEG2[6];
|
|||
|
Uint16 co_SJW[6];
|
|||
|
} TCANSpeedTableOptions;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
struct S_CANOPEN_DRV_SETTINGS
|
|||
|
{
|
|||
|
Uint16 LoadParamsFromUserMemory_ena; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 CAN_ISR_priority; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN
|
|||
|
|
|||
|
Uint16 MultiPDO_ena; /* //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>:
|
|||
|
//<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RPDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
// 0x181-0x1FF
|
|||
|
// 0x200-0x27F
|
|||
|
// 0x280-0x2FF
|
|||
|
// ...
|
|||
|
// 0x480-0x4FF
|
|||
|
// 0x500-0x57F
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RPDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
//<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RPDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RPDOxCOBID <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
//<2F><><EFBFBD><EFBFBD> RPDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
|
|||
|
//<2F> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. */
|
|||
|
|
|||
|
Uint16 RX_PDO_Callback_ena; /*//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CallBack <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO. (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PDO).
|
|||
|
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> PDO <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CallBack <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//(<28>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> CANOpenCallbacks.c) <20><><EFBFBD><EFBFBD>: void co_RPDOx_Callback(Uint16 nodeID)
|
|||
|
//<2F><><EFBFBD> x = 1,2,..8 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RPDO1, RPDO2,..RPDO8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
//<2F> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (nodeID) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO,
|
|||
|
//<2F> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(-<2D><>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(-<2D><>).*/
|
|||
|
|
|||
|
Uint16 AutoBusON_ena; /*//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> CAN.
|
|||
|
//<2F> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -
|
|||
|
//<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rx, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...*/
|
|||
|
|
|||
|
Uint16 BlockTransfer_ena; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Uint32 BaseAdressCanRegisters; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CANOpen <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Uint16 CAN_IRQn; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CANOpen <20><><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
TCANSpeedTableOptions *speedCANTablePointer;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
|
|||
|
void (*resetCPU)(void); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
};
|
|||
|
|
|||
|
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
typedef enum EObjAccess
|
|||
|
{
|
|||
|
OBJ_ACCESS_READONLY, // read-only
|
|||
|
OBJ_ACCESS_RW, // read/write
|
|||
|
OBJ_ACCESS_WP, // read/writeable protected
|
|||
|
OBJ_ACCESS_SWP, // read/secret writeable protected
|
|||
|
} TObjAccess;
|
|||
|
|
|||
|
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
typedef enum EObjType
|
|||
|
{
|
|||
|
OBJ_TYPE_UNKNOWN,
|
|||
|
OBJ_TYPE_ROOT,
|
|||
|
OBJ_TYPE_U8,
|
|||
|
OBJ_TYPE_U16,
|
|||
|
OBJ_TYPE_QU16,
|
|||
|
OBJ_TYPE_I8,
|
|||
|
OBJ_TYPE_I16,
|
|||
|
OBJ_TYPE_QI16,
|
|||
|
OBJ_TYPE_U32,
|
|||
|
OBJ_TYPE_QU32,
|
|||
|
OBJ_TYPE_I32,
|
|||
|
OBJ_TYPE_QI32,
|
|||
|
OBJ_TYPE_BIT_FIELD,
|
|||
|
OBJ_TYPE_FLOAT_ABS,
|
|||
|
OBJ_TYPE_FLOAT_PU,
|
|||
|
} TObjType;
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
void* varAddr; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>
|
|||
|
int varSize; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> (16/32)
|
|||
|
TObjAccess access; // <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TObjType type; // <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 subIndNum; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> ROOT)
|
|||
|
Uint16 scaleNum; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> QU16, QI16, QU32, QI32, FLOAT_PU)
|
|||
|
Uint16 Q; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> QU16, QI16, QU32, QI32)
|
|||
|
Uint16 bitOffset; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD> BIT_FIELD)
|
|||
|
Uint16 bitNum; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD> BIT_FIELD)
|
|||
|
Uint16 precision; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> FLOAT_ABS)
|
|||
|
Uint16 prefix; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> FLOAT_ABS)
|
|||
|
Uint16 units; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> FLOAT_ABS)
|
|||
|
} TObjectInfo;
|
|||
|
|
|||
|
|
|||
|
typedef volatile struct S_CANOPEN_DRV_SETTINGS T_CANOPEN_DRV_SETTINGS;
|
|||
|
|
|||
|
//!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> SDO
|
|||
|
struct SDOcommSpecifier {
|
|||
|
Uint16 s:1; //!< 0 - <20><><EFBFBD><EFBFBD> s=1, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 e:1; //!< 1 - expedited <20><><EFBFBD> <20><><EFBFBD>
|
|||
|
Uint16 n:2; //!< 3:2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 X:1; //!< 4 - reserved
|
|||
|
Uint16 cs:3;//!< 7:5 - SDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 reserved:8;//
|
|||
|
};
|
|||
|
|
|||
|
//! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
union MBOXByte0{
|
|||
|
struct SDOcommSpecifier SDO_Spicifier;
|
|||
|
Uint16 byte0;
|
|||
|
};
|
|||
|
//! <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CAN <20><><EFBFBD><EFBFBD><EFBFBD> (ZigBee, USB)
|
|||
|
typedef struct {
|
|||
|
union MBOXByte0 MByte0;
|
|||
|
Uint16 byte1;
|
|||
|
Uint16 byte2;
|
|||
|
Uint16 byte3;
|
|||
|
Uint16 byte4;
|
|||
|
Uint16 byte5;
|
|||
|
Uint16 byte6;
|
|||
|
Uint16 byte7;
|
|||
|
Uint16 senderNodeID;
|
|||
|
}Z_MBytes;
|
|||
|
|
|||
|
typedef struct {
|
|||
|
Uint32 id;
|
|||
|
Uint8 data[8];
|
|||
|
Uint8 dlc;
|
|||
|
} TZCanMsg;
|
|||
|
|
|||
|
|
|||
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> SDO
|
|||
|
struct SDOmsg
|
|||
|
{ Uint32 s:1; //!< 0 - <20><><EFBFBD><EFBFBD> s=1, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 e:1; //!< 1 - expedited <20><><EFBFBD> <20><><EFBFBD>
|
|||
|
Uint32 n:2; //!< 3:2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 X:1; //!< 4 - reserved
|
|||
|
Uint32 cs:3;//!< 7:5 - SDO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 index:16;
|
|||
|
Uint32 subindex:8;
|
|||
|
Uint32 data:32;
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
struct MBOX_bytes
|
|||
|
{ Uint16 byte0:8;
|
|||
|
Uint16 byte1:8;
|
|||
|
Uint16 byte2:8;
|
|||
|
Uint16 byte3:8;
|
|||
|
Uint16 byte4:8;
|
|||
|
Uint16 byte5:8;
|
|||
|
Uint16 byte6:8;
|
|||
|
Uint16 byte7:8;
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
struct MBOX_words
|
|||
|
{ Uint16 word0;
|
|||
|
Uint16 word1;
|
|||
|
Uint16 word2;
|
|||
|
Uint16 word3;
|
|||
|
};
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> MDRL, MDRH
|
|||
|
struct MBOX_Uint32
|
|||
|
{ Uint32 MDRL;
|
|||
|
Uint32 MDRH;
|
|||
|
};
|
|||
|
//<2F><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
union MBOX_data {
|
|||
|
struct MBOX_Uint32 u32;
|
|||
|
struct MBOX_words u16;
|
|||
|
struct MBOX_bytes u8;
|
|||
|
struct SDOmsg SDO;
|
|||
|
};
|
|||
|
typedef volatile union MBOX_data TMBOX_data;
|
|||
|
|
|||
|
struct MID_bits
|
|||
|
{ Uint32 rsvd1:18; //<2F><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 senderNodeID:7; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
Uint32 rsvd2:7; //<2F><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
};
|
|||
|
union MID_data {
|
|||
|
Uint32 all;
|
|||
|
struct MID_bits bit;
|
|||
|
};
|
|||
|
// <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>
|
|||
|
struct MData
|
|||
|
{
|
|||
|
union MBOX_data data;
|
|||
|
union MID_data MID;
|
|||
|
};
|
|||
|
typedef volatile struct MData TCo_MOData;
|
|||
|
|
|||
|
//! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
struct CO_MBOXDATA
|
|||
|
{
|
|||
|
struct MData MBOX_0;
|
|||
|
struct MData MBOX_1;
|
|||
|
struct MData MBOX_2;
|
|||
|
struct MData MBOX_3;
|
|||
|
struct MData MBOX_4;
|
|||
|
struct MData MBOX_5;
|
|||
|
struct MData MBOX_6;
|
|||
|
struct MData MBOX_7;
|
|||
|
struct MData MBOX_8;
|
|||
|
struct MData MBOX_9;
|
|||
|
struct MData MBOX_10;
|
|||
|
struct MData MBOX_11;
|
|||
|
struct MData MBOX_12;
|
|||
|
struct MData MBOX_13;
|
|||
|
struct MData MBOX_14;
|
|||
|
struct MData MBOX_15;
|
|||
|
struct MData MBOX_16;
|
|||
|
struct MData MBOX_17;
|
|||
|
struct MData MBOX_18;
|
|||
|
struct MData MBOX_19;
|
|||
|
struct MData MBOX_20;
|
|||
|
struct MData MBOX_21;
|
|||
|
struct MData MBOX_22;
|
|||
|
struct MData MBOX_23;
|
|||
|
struct MData MBOX_24;
|
|||
|
struct MData MBOX_25;
|
|||
|
struct MData MBOX_26;
|
|||
|
struct MData MBOX_27;
|
|||
|
struct MData MBOX_28;
|
|||
|
struct MData MBOX_29;
|
|||
|
struct MData MBOX_30;
|
|||
|
struct MData MBOX_31;
|
|||
|
};
|
|||
|
|
|||
|
typedef volatile struct CO_MBOXDATA TCo_MboxData;
|
|||
|
|
|||
|
//****************************************************************************************************************************************
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define BT_FIFO_SIZE 8 //8 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 1<><31><EFBFBD><EFBFBD>/<2F>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 1<><31>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define BT_FIFO_SUCCESSFUL 0
|
|||
|
#define BT_FIFO_EMPTY 1
|
|||
|
#define BT_FIFO_FULL 2
|
|||
|
#define BT_FIFO_BUSY 3
|
|||
|
|
|||
|
struct S_BT_FIFO
|
|||
|
{
|
|||
|
Uint16 busy_flag; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 size;
|
|||
|
Uint16 number_of_msgs;
|
|||
|
Uint16 read_ptr;
|
|||
|
Uint16 write_ptr;
|
|||
|
TMBOX_data msg_array[BT_FIFO_SIZE];
|
|||
|
Uint16(*read)(volatile struct S_BT_FIFO*,TMBOX_data*);
|
|||
|
Uint16(*write)(volatile struct S_BT_FIFO*,TMBOX_data*);
|
|||
|
Uint16(*clear)(volatile struct S_BT_FIFO*);
|
|||
|
};
|
|||
|
|
|||
|
typedef volatile struct S_BT_FIFO T_BT_FIFO;
|
|||
|
|
|||
|
#define T_BT_FIFO_DEFAULTS {0,\
|
|||
|
BT_FIFO_SIZE,\
|
|||
|
0,0,0,\
|
|||
|
{0},\
|
|||
|
BT_FIFO_Read,\
|
|||
|
BT_FIFO_Write,\
|
|||
|
BT_FIFO_Clear}
|
|||
|
|
|||
|
Uint16 BT_FIFO_Read(T_BT_FIFO*,TMBOX_data*);
|
|||
|
Uint16 BT_FIFO_Write(T_BT_FIFO*,TMBOX_data*);
|
|||
|
Uint16 BT_FIFO_Clear(T_BT_FIFO* p);
|
|||
|
|
|||
|
#define CANBT_STATE_FREE 0
|
|||
|
#define CANBT_STATE_RX 1
|
|||
|
#define CANBT_STATE_TX 2
|
|||
|
|
|||
|
#define CANBT_STATUS_IDLE 0
|
|||
|
#define CANBT_STATUS_BUSY 1
|
|||
|
#define CANBT_STATUS_SUCCESSFUL 2
|
|||
|
#define CANBT_STATUS_TIMEOUT 3
|
|||
|
#define CANBT_STATUS_CRC_ERR 4
|
|||
|
#define CANBT_STATUS_ANY_ERR 5
|
|||
|
|
|||
|
struct SBlockTransfer
|
|||
|
{ Uint16 state; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
Uint16 state_shadow;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
Uint16 state_prev; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|||
|
Uint16 E; //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
Uint32 state_time; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><>.
|
|||
|
Uint16 RX_block_size; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
Uint16 TX_block_size; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
Uint16 firstTXmsg; //<2F><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> 1-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|||
|
Uint16* RX_dest_ptr;
|
|||
|
Uint16* TX_source_ptr;
|
|||
|
int RX_index;
|
|||
|
int TX_index;
|
|||
|
T_BT_FIFO RXmsgFIFO;
|
|||
|
T_BT_FIFO TXmsgFIFO;
|
|||
|
Uint16 blockCRC;
|
|||
|
Uint16 rx_status; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 tx_status; //
|
|||
|
Uint32 timeout;
|
|||
|
};
|
|||
|
|
|||
|
typedef volatile struct SBlockTransfer TBlockTransfer;
|
|||
|
|
|||
|
#define TBLOCK_TRANSFER_DEFAULTS {CANBT_STATE_FREE,\
|
|||
|
CANBT_STATE_FREE,0xff,1,\
|
|||
|
0,\
|
|||
|
0,0,0,0,0,0,0,\
|
|||
|
T_BT_FIFO_DEFAULTS,T_BT_FIFO_DEFAULTS,\
|
|||
|
0,\
|
|||
|
CANBT_STATUS_IDLE,CANBT_STATUS_IDLE,\
|
|||
|
((Uint32)500)/*500<30><30>*/,\
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
//****************************************************************************************************************************************
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
struct S_UserMemoryContext
|
|||
|
{
|
|||
|
Uint16 MemStartAddr; //!<21><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
Uint16 *MCUStartAddr; //!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> MCU
|
|||
|
Uint16 data_length; //!<21><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
};
|
|||
|
typedef volatile struct S_UserMemoryContext T_UserMemoryContext;
|
|||
|
//****************************************************************************************************************************************
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CANOpen
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|||
|
//<2F> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CANOpen
|
|||
|
|
|||
|
struct SCo_OdVars{
|
|||
|
Uint32 co_deviceType; //1000.0
|
|||
|
Uint16 co_errorRegister; //1001.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_deviceState; //1002.0
|
|||
|
Uint32 co_emcyCOBID; //1014.0
|
|||
|
Uint32 co_CHBT; //1016.1 Consumer heartbeat time
|
|||
|
Uint32 co_PHBT ; //1017.0 Producer heartbeat time
|
|||
|
Uint32 co_vendorID; //1018.1
|
|||
|
Uint32 co_productCode; //1018.2
|
|||
|
Uint32 co_revisionNumber; //1018.3
|
|||
|
Uint32 co_serialNumber; //1018.4
|
|||
|
Uint32 co_csrxCOBID; //1200.1
|
|||
|
Uint32 co_sctxCOBID; //1200.2
|
|||
|
Uint32 co_cstxCOBID; //1280.1
|
|||
|
Uint32 co_scrxCOBID; //1280.2
|
|||
|
Uint16 co_ssNODEID; //1280.3
|
|||
|
Uint32 co_RPDO1COBID; //1400.1
|
|||
|
Uint16 co_transType; //1400.2 , 1401.2 , 1402.2 , 1403.2
|
|||
|
Uint32 co_RPDO2COBID; //1401.1
|
|||
|
Uint32 co_RPDO3COBID; //1402.1
|
|||
|
Uint32 co_RPDO4COBID; //1403.1
|
|||
|
Uint32 co_RPDO5COBID; //1404.1 rwp
|
|||
|
Uint32 co_RPDO6COBID; //1405.1 rwp
|
|||
|
Uint32 co_RPDO7COBID; //1406.1 rwp
|
|||
|
Uint32 co_RPDO8COBID; //1407.1 rwp
|
|||
|
//
|
|||
|
Uint32 co_RPDO1_1Mapping; //1600.1
|
|||
|
Uint32 co_RPDO1_2Mapping; //1600.2
|
|||
|
Uint32 co_RPDO1_3Mapping; //1600.3
|
|||
|
Uint32 co_RPDO1_4Mapping; //1600.4
|
|||
|
Uint32 co_RPDO2_1Mapping; //1601.1
|
|||
|
Uint32 co_RPDO2_2Mapping; //1601.2
|
|||
|
Uint32 co_RPDO2_3Mapping; //1601.3
|
|||
|
Uint32 co_RPDO2_4Mapping; //1601.4
|
|||
|
Uint32 co_RPDO3_1Mapping; //1602.1
|
|||
|
Uint32 co_RPDO3_2Mapping; //1602.2
|
|||
|
Uint32 co_RPDO3_3Mapping; //1602.3
|
|||
|
Uint32 co_RPDO3_4Mapping; //1602.4
|
|||
|
Uint32 co_RPDO4_1Mapping; //1603.1
|
|||
|
Uint32 co_RPDO4_2Mapping; //1603.2
|
|||
|
Uint32 co_RPDO4_3Mapping; //1603.3
|
|||
|
Uint32 co_RPDO4_4Mapping; //1603.4
|
|||
|
//2007_03_14
|
|||
|
Uint32 co_RPDO5_1Mapping; //1604.1 rwp
|
|||
|
Uint32 co_RPDO5_2Mapping; //1604.2 rwp
|
|||
|
Uint32 co_RPDO5_3Mapping; //1604.3 rwp
|
|||
|
Uint32 co_RPDO5_4Mapping; //1604.4 rwp
|
|||
|
Uint32 co_RPDO6_1Mapping; //1605.1 rwp
|
|||
|
Uint32 co_RPDO6_2Mapping; //1605.2 rwp
|
|||
|
Uint32 co_RPDO6_3Mapping; //1605.3 rwp
|
|||
|
Uint32 co_RPDO6_4Mapping; //1605.4 rwp
|
|||
|
Uint32 co_RPDO7_1Mapping; //1606.1 rwp
|
|||
|
Uint32 co_RPDO7_2Mapping; //1606.2 rwp
|
|||
|
Uint32 co_RPDO7_3Mapping; //1606.3 rwp
|
|||
|
Uint32 co_RPDO7_4Mapping; //1606.4 rwp
|
|||
|
Uint32 co_RPDO8_1Mapping; //1607.1 rwp
|
|||
|
Uint32 co_RPDO8_2Mapping; //1607.2 rwp
|
|||
|
Uint32 co_RPDO8_3Mapping; //1607.3 rwp
|
|||
|
Uint32 co_RPDO8_4Mapping; //1607.4 rwp
|
|||
|
//
|
|||
|
Uint32 co_TPDO1COBID; //1800.1
|
|||
|
Uint16 co_TPDO1ITime; //1800.3 rw
|
|||
|
Uint16 co_compatEntry; //1800.4 rw
|
|||
|
Uint16 co_TPDO1EventTimer; //1800.5 rw
|
|||
|
Uint32 co_TPDO2COBID; //1801.1
|
|||
|
Uint16 co_TPDO2ITime; //1801.3 rw
|
|||
|
Uint16 co_TPDO2EventTimer; //1800.5 rw
|
|||
|
Uint32 co_TPDO3COBID; //1802.1
|
|||
|
Uint16 co_TPDO3ITime; //1802.3 rw
|
|||
|
Uint16 co_TPDO3EventTimer; //1800.5 rw
|
|||
|
Uint32 co_TPDO4COBID; //1803.1
|
|||
|
Uint16 co_TPDO4ITime; //1803.3 rw
|
|||
|
Uint16 co_TPDO4EventTimer; //1800.5 rw
|
|||
|
Uint32 co_TPDO5COBID; //1804.1 r
|
|||
|
Uint16 co_TPDO5ITime; //1804.3 rw
|
|||
|
Uint16 co_TPDO5EventTimer; //1804.5 rw
|
|||
|
Uint32 co_TPDO6COBID; //1805.1 r
|
|||
|
Uint16 co_TPDO6ITime; //1805.3 rw
|
|||
|
Uint16 co_TPDO6EventTimer; //1805.5 rw
|
|||
|
Uint32 co_TPDO7COBID; //1806.1 r
|
|||
|
Uint16 co_TPDO7ITime; //1806.3 rw
|
|||
|
Uint16 co_TPDO7EventTimer; //1806.5 rw
|
|||
|
Uint32 co_TPDO8COBID; //1807.1 r
|
|||
|
Uint16 co_TPDO8ITime; //1807.3 rw
|
|||
|
Uint16 co_TPDO8EventTimer; //1807.5 rw
|
|||
|
//
|
|||
|
Uint32 co_TPDO1_1Mapping; //1A00.1
|
|||
|
Uint32 co_TPDO1_2Mapping; //1A00.2
|
|||
|
Uint32 co_TPDO1_3Mapping; //1A00.3
|
|||
|
Uint32 co_TPDO1_4Mapping; //1A00.4
|
|||
|
Uint32 co_TPDO2_1Mapping; //1A01.1
|
|||
|
Uint32 co_TPDO2_2Mapping; //1A01.2
|
|||
|
Uint32 co_TPDO2_3Mapping; //1A01.3
|
|||
|
Uint32 co_TPDO2_4Mapping; //1A01.4
|
|||
|
Uint32 co_TPDO3_1Mapping; //1A02.1
|
|||
|
Uint32 co_TPDO3_2Mapping; //1A02.2
|
|||
|
Uint32 co_TPDO3_3Mapping; //1A02.3
|
|||
|
Uint32 co_TPDO3_4Mapping; //1A02.4
|
|||
|
Uint32 co_TPDO4_1Mapping; //1A03.1
|
|||
|
Uint32 co_TPDO4_2Mapping; //1A03.2
|
|||
|
Uint32 co_TPDO4_3Mapping; //1A03.3
|
|||
|
Uint32 co_TPDO4_4Mapping; //1A03.4
|
|||
|
Uint32 co_TPDO5_1Mapping; //1A04.1 rwp
|
|||
|
Uint32 co_TPDO5_2Mapping; //1A04.2 rwp
|
|||
|
Uint32 co_TPDO5_3Mapping; //1A04.3 rwp
|
|||
|
Uint32 co_TPDO5_4Mapping; //1A04.4 rwp
|
|||
|
Uint32 co_TPDO6_1Mapping; //1A05.1 rwp
|
|||
|
Uint32 co_TPDO6_2Mapping; //1A05.2 rwp
|
|||
|
Uint32 co_TPDO6_3Mapping; //1A05.3 rwp
|
|||
|
Uint32 co_TPDO6_4Mapping; //1A05.4 rwp
|
|||
|
Uint32 co_TPDO7_1Mapping; //1A06.1 rwp
|
|||
|
Uint32 co_TPDO7_2Mapping; //1A06.2 rwp
|
|||
|
Uint32 co_TPDO7_3Mapping; //1A06.3 rwp
|
|||
|
Uint32 co_TPDO7_4Mapping; //1A06.4 rwp
|
|||
|
Uint32 co_TPDO8_1Mapping; //1A07.1 rwp
|
|||
|
Uint32 co_TPDO8_2Mapping; //1A07.2 rwp
|
|||
|
Uint32 co_TPDO8_3Mapping; //1A07.3 rwp
|
|||
|
Uint32 co_TPDO8_4Mapping; //1A07.4 rwp
|
|||
|
//
|
|||
|
Uint16 co_nodeID ; //2000.0 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_bitRate; //2001.0
|
|||
|
Uint16 co_specialData1; //2003.1
|
|||
|
Uint16 co_specialData2; //2003.2
|
|||
|
Uint16 co_specialData3; //2003.3
|
|||
|
Uint16 co_specialData4; //2003.4
|
|||
|
Uint32 co_secretCode; //2004.0
|
|||
|
Uint16 co_protectBit; //2005.0
|
|||
|
Uint32 co_devicePresentFlag0;
|
|||
|
Uint32 co_devicePresentFlag1;
|
|||
|
Uint32 co_devicePresentFlag2;
|
|||
|
Uint32 co_devicePresentFlag3;
|
|||
|
Uint32 co_deviceGlobalPresent0;
|
|||
|
Uint32 co_deviceGlobalPresent1;
|
|||
|
Uint32 co_deviceGlobalPresent2;
|
|||
|
Uint32 co_deviceGlobalPresent3;
|
|||
|
Uint32 co_heartbeatFlag0 ; //2010.1 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 0 <20><> 31-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_heartbeatFlag1 ; //2010.2 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 32 <20><> 63-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_heartbeatFlag2 ; //2010.3 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 64 <20><> 95-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_heartbeatFlag3 ; //2010.4 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 96 <20><> 127-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_heartbeatMask0 ; //2011.1 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 0 <20><> 31-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0110b)
|
|||
|
Uint32 co_heartbeatMask1 ; //2011.2 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 32 <20><> 63-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_heartbeatMask2 ; //2011.3 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 64 <20><> 95-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_heartbeatMask3 ; //2011.4 <20><><EFBFBD><EFBFBD><EFBFBD> heartbeat <20> 96 <20><> 127-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_heartbeatAutoStart ; //2012.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_heartbeatAutoRecovery ; //2014.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> STOPPED
|
|||
|
Uint16 co_nodeState ; //2015.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BOOTUP
|
|||
|
Uint16 co_emergencyErrorCode ; //2016.0 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_deviceErrorState ; //2017.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_ODCommand; //2080.1
|
|||
|
Uint16 co_currentODIndex; //2080.2
|
|||
|
Uint16 co_currentODSubIndex; //2080.3
|
|||
|
Uint16 co_currentODEText; //2080.4
|
|||
|
Uint16 co_currentODEFormat; //2080.5
|
|||
|
Uint16 co_currentODEMin; //2080.6
|
|||
|
Uint16 co_currentODEMax; //2080.7
|
|||
|
Uint16 co_currentODEDefault; //2080.8
|
|||
|
Uint16 co_currentODEMinLow; //2080.9
|
|||
|
Uint16 co_currentODEMaxLow; //2080.10
|
|||
|
Uint16 co_currentODEDefaultLow; //2080.11
|
|||
|
Uint16 co_currentODEAddrHigh; //2080.12
|
|||
|
Uint16 co_currentODEAddrLow;
|
|||
|
Uint16 co_currentODEType;
|
|||
|
Uint16 co_odIndexSize;
|
|||
|
Uint32 co_defaultIndex1; //2082.1 rw
|
|||
|
Uint32 co_defaultIndex2; //2082.2 rw
|
|||
|
Uint16 co_maskElement01; //2083.1,2 rw
|
|||
|
Uint16 co_maskElement23; //2083.3,4 rw
|
|||
|
Uint16 co_maskElement45; //2083.5,6 rw
|
|||
|
Uint16 co_maskElement67; //2083.7,8 rw
|
|||
|
Uint16 co_maskElement89; //2083.9,A rw
|
|||
|
Uint16 co_maskElementAB; //2083.B,C rw
|
|||
|
Uint16 co_maskElementCD; //2083.D,E rw
|
|||
|
Uint16 co_maskElementEF; //2083.F,10 rw
|
|||
|
Uint16 co_profileAccessMask; //2081.0 rw
|
|||
|
Uint16 co_scaleNum0; //2100.1
|
|||
|
Uint16 co_scaleNum0Format; //2100.2
|
|||
|
Uint16 co_scaleNum1; //2101.1
|
|||
|
Uint16 co_scaleNum1Format; //2101.2
|
|||
|
Uint16 co_scaleNum2; //2102.1
|
|||
|
Uint16 co_scaleNum2Format; //2102.2
|
|||
|
Uint16 co_scaleNum3; //2103.1
|
|||
|
Uint16 co_scaleNum3Format; //2103.2
|
|||
|
Uint16 co_scaleNum4; //2104.1
|
|||
|
Uint16 co_scaleNum4Format; //2104.2
|
|||
|
Uint16 co_scaleNum5; //2105.1
|
|||
|
Uint16 co_scaleNum5Format; //2105.2
|
|||
|
Uint16 co_scaleNum6; //2106.1
|
|||
|
Uint16 co_scaleNum6Format; //2106.2
|
|||
|
Uint16 co_scaleNum7; //2107.1
|
|||
|
Uint16 co_scaleNum7Format; //2107.2
|
|||
|
Uint16 co_scaleNum8; //2108.1
|
|||
|
Uint16 co_scaleNum8Format; //2108.2
|
|||
|
Uint16 co_scaleNum9; //2109.1
|
|||
|
Uint16 co_scaleNum9Format; //2109.2
|
|||
|
Uint16 co_scaleNumA; //210A.1
|
|||
|
Uint16 co_scaleNumAFormat; //210A.2
|
|||
|
Uint16 co_scaleNumB; //210B.1
|
|||
|
Uint16 co_scaleNumBFormat; //210B.2
|
|||
|
Uint16 co_scaleNumC; //210C.1
|
|||
|
Uint16 co_scaleNumCFormat; //210C.2
|
|||
|
Uint16 co_scaleNumD; //210D.1
|
|||
|
Uint16 co_scaleNumDFormat; //210D.2
|
|||
|
Uint16 co_scaleNumE; //210E.1
|
|||
|
Uint16 co_scaleNumEFormat; //210E.2
|
|||
|
Uint16 co_scaleNumF; //210F.1
|
|||
|
Uint16 co_scaleNumFFormat; //210F.2
|
|||
|
Uint16 co_scaleNum10; //2110.1
|
|||
|
Uint16 co_scaleNum10Format; //2110.2
|
|||
|
Uint16 co_scaleNum11; //2111.1
|
|||
|
Uint16 co_scaleNum11Format; //2111.2
|
|||
|
Uint16 co_scaleNum12; //2112.1
|
|||
|
Uint16 co_scaleNum12Format; //2112.2
|
|||
|
Uint16 co_scaleNum13; //2113.1
|
|||
|
Uint16 co_scaleNum13Format; //2113.2
|
|||
|
Uint16 co_scaleNum14; //2114.1
|
|||
|
Uint16 co_scaleNum14Format; //2114.2
|
|||
|
Uint16 co_scaleNum15; //2115.1
|
|||
|
Uint16 co_scaleNum15Format; //2115.2
|
|||
|
Uint16 co_scaleNum16; //2116.1
|
|||
|
Uint16 co_scaleNum16Format; //2116.2
|
|||
|
Uint16 co_scaleNum17; //2117.1
|
|||
|
Uint16 co_scaleNum17Format; //2117.2
|
|||
|
Uint16 co_scaleNum18; //2118.1
|
|||
|
Uint16 co_scaleNum18Format; //2118.2
|
|||
|
Uint16 co_scaleNum19; //2119.1
|
|||
|
Uint16 co_scaleNum19Format; //2119.2
|
|||
|
Uint16 co_scaleNum1A; //211A.1
|
|||
|
Uint16 co_scaleNum1AFormat; //211A.2
|
|||
|
Uint16 co_scaleNum1B; //211B.1
|
|||
|
Uint16 co_scaleNum1BFormat; //211B.2
|
|||
|
Uint16 co_scaleNum1C; //211C.1
|
|||
|
Uint16 co_scaleNum1CFormat; //211C.2
|
|||
|
Uint16 co_scaleNum1D; //211D.1
|
|||
|
Uint16 co_scaleNum1DFormat; //211D.2
|
|||
|
Uint16 co_scaleNum1E; //211E.1
|
|||
|
Uint16 co_scaleNum1EFormat; //211E.2
|
|||
|
Uint16 co_scaleNum1F; //211F.1
|
|||
|
Uint16 co_scaleNum1FFormat; //211F.2
|
|||
|
|
|||
|
Uint16 co_blockTransferCommand; //2700
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 *co_currentWordODTbl1 ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 *co_currentWordODTbl2 ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
Uint16 co_currentAccessMask; //<2F><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> co_currentWordODTbl1
|
|||
|
|
|||
|
Uint16 *co_shadow_currentWordODTbl1 ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 *co_shadow_currentWordODTbl2 ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
|||
|
Uint16 *co_SDOcurrentWordODTbl1;
|
|||
|
Uint16 *co_SDOcurrentWordODTbl2;
|
|||
|
|
|||
|
//ExternalInterface
|
|||
|
Uint16 *Z_co_SDOcurrentWordODTbl1;
|
|||
|
Uint16 *Z_co_SDOcurrentWordODTbl2;
|
|||
|
|
|||
|
Uint16 *co_PDOcurrentWordODTbl1;
|
|||
|
Uint16 *co_PDOcurrentWordODTbl2;
|
|||
|
Uint16 *co_PDOMAPcurrentWordODTbl1;
|
|||
|
Uint16 *co_PDOMAPcurrentWordODTbl2;
|
|||
|
|
|||
|
Uint16 *co_endODTbl1 ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ODTbl1
|
|||
|
|
|||
|
Uint32 co_MailboxMDRL;
|
|||
|
Uint32 co_MailboxMDRH;
|
|||
|
Uint32 co_MailboxMID;
|
|||
|
|
|||
|
Uint32 co_flagBackUp0;//
|
|||
|
Uint32 co_flagBackUp1;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_flagBackUp2;//
|
|||
|
Uint32 co_flagBackUp3;//
|
|||
|
|
|||
|
Uint32 co_backupEEC; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_backupER; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_backupDES; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
Uint32 co_consHBTimeCounter;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> co_CHBT
|
|||
|
Uint32 co_prodHBTimeCounter;// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> co_PHBT
|
|||
|
Uint32 co_emcyNewState; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint32 co_msDevisor; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Heartbeat
|
|||
|
|
|||
|
Uint16 co_shadow_currentODIndex;
|
|||
|
Uint16 co_shadow_currentODSubIndex;
|
|||
|
Uint16 co_shadow_currentODEText;
|
|||
|
Uint16 co_shadow_currentODEFormat;
|
|||
|
Uint16 co_shadow_currentODEMin;
|
|||
|
Uint16 co_shadow_currentODEMax;
|
|||
|
Uint16 co_shadow_currentODEDefault;
|
|||
|
Uint16 co_shadow_currentODEMinLow;
|
|||
|
Uint16 co_shadow_currentODEMaxLow;
|
|||
|
Uint16 co_shadow_currentODEDefaultLow;
|
|||
|
Uint16 co_shadow_currentODEAddrLow;
|
|||
|
Uint16 co_shadow_currentODEAddrHigh;
|
|||
|
Uint16 co_shadow_currentODEType;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SDO <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_SDOrequestIndex;
|
|||
|
Uint16 co_SDOrequestSubIndex;
|
|||
|
Uint16 co_SDOrequestData;
|
|||
|
Uint16 co_SDOrequestDataH;
|
|||
|
Uint16 co_SDOrequestStatus;
|
|||
|
Uint16 co_SDOrequestFlag;
|
|||
|
Uint16 co_SDOSuspendedSend;
|
|||
|
TMBOX_data SDOMsgData;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_secretProtectBit;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Uint16 co_PDOMappingFlags;//RRRR RRRR TTTT TTTT - "T" - TPDO;- "R" - RPDO
|
|||
|
|
|||
|
Uint16 co_PDO1Devisor; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> PDO1
|
|||
|
Uint16 co_PDO2Devisor;
|
|||
|
Uint16 co_PDO3Devisor;
|
|||
|
Uint16 co_PDO4Devisor;
|
|||
|
Uint16 co_PDO5Devisor;
|
|||
|
Uint16 co_PDO6Devisor;
|
|||
|
Uint16 co_PDO7Devisor;
|
|||
|
Uint16 co_PDO8Devisor;
|
|||
|
//
|
|||
|
Uint16 co_NumOfNextPDO;
|
|||
|
Uint16 co_PDOTransmitFlags;//0000 0000 TTTT TTTT
|
|||
|
Uint16 co_PDOTransmitEna; //0000 0000 TTTT TTTT
|
|||
|
Uint16 co_PDOReceiveEna; //0000 0000 RRRR RRRR
|
|||
|
|
|||
|
Uint16 co_my_PDO1TransmitFlags;
|
|||
|
Uint16 co_my_PDO2TransmitFlags;
|
|||
|
Uint16 co_my_PDO3TransmitFlags;
|
|||
|
Uint16 co_my_PDO4TransmitFlags;
|
|||
|
Uint16 co_my_PDO5TransmitFlags;
|
|||
|
Uint16 co_my_PDO6TransmitFlags;
|
|||
|
Uint16 co_my_PDO7TransmitFlags;
|
|||
|
Uint16 co_my_PDO8TransmitFlags;
|
|||
|
|
|||
|
|
|||
|
Uint32 co_RPDO1_addr[RPDO1NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO2_addr[RPDO2NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO3_addr[RPDO3NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO4_addr[RPDO4NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO5_addr[RPDO5NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO6_addr[RPDO6NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO7_addr[RPDO7NUMOFPARAMS];
|
|||
|
Uint32 co_RPDO8_addr[RPDO8NUMOFPARAMS];
|
|||
|
//
|
|||
|
|
|||
|
Uint16 co_RPDO1_startBit[RPDO1NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO2_startBit[RPDO2NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO3_startBit[RPDO3NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO4_startBit[RPDO4NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO5_startBit[RPDO5NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO6_startBit[RPDO6NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO7_startBit[RPDO7NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO8_startBit[RPDO8NUMOFPARAMS];
|
|||
|
//
|
|||
|
|
|||
|
Uint16 co_RPDO1_numOfBits[RPDO1NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO2_numOfBits[RPDO2NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO3_numOfBits[RPDO3NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO4_numOfBits[RPDO4NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO5_numOfBits[RPDO5NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO6_numOfBits[RPDO6NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO7_numOfBits[RPDO7NUMOFPARAMS];
|
|||
|
Uint16 co_RPDO8_numOfBits[RPDO8NUMOFPARAMS];
|
|||
|
//
|
|||
|
|
|||
|
Uint32 co_TPDO1_addr[TPDO1NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO2_addr[TPDO2NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO3_addr[TPDO3NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO4_addr[TPDO4NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO5_addr[TPDO5NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO6_addr[TPDO6NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO7_addr[TPDO7NUMOFPARAMS];
|
|||
|
Uint32 co_TPDO8_addr[TPDO8NUMOFPARAMS];
|
|||
|
//
|
|||
|
|
|||
|
Uint16 co_TPDO1_startBit[TPDO1NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO2_startBit[TPDO2NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO3_startBit[TPDO3NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO4_startBit[TPDO4NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO5_startBit[TPDO5NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO6_startBit[TPDO6NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO7_startBit[TPDO7NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO8_startBit[TPDO8NUMOFPARAMS];
|
|||
|
//
|
|||
|
|
|||
|
Uint16 co_TPDO1_numOfBits[TPDO1NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO2_numOfBits[TPDO2NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO3_numOfBits[TPDO3NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO4_numOfBits[TPDO4NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO5_numOfBits[TPDO5NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO6_numOfBits[TPDO6NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO7_numOfBits[TPDO7NUMOFPARAMS];
|
|||
|
Uint16 co_TPDO8_numOfBits[TPDO8NUMOFPARAMS];
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
T_UserMemoryContext UM;
|
|||
|
|
|||
|
Uint16 ParamRestorationError;
|
|||
|
Uint16 co_requestCANInit;
|
|||
|
Uint16 co_callbackTag; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20><><EFBFBD> 1<><31> CAN <20> 2 <20><><EFBFBD> 2<><32> CAN)
|
|||
|
Uint32 ISRDroppingCounter;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> coodedit-<2D>
|
|||
|
//Uint16 co_numOfInd;
|
|||
|
int16* OD_TBL1;
|
|||
|
Uint16* OD_TBL2;
|
|||
|
int32* OD_TBL3;
|
|||
|
Uint16* TYPE_DEF_TABLE;
|
|||
|
int32* OD_CALLBACK_TBL;
|
|||
|
|
|||
|
Uint16 co_SPIrange1rw;
|
|||
|
Uint16 co_SPIrange1rwCRC;
|
|||
|
Uint16 co_SPIrange1rwp;
|
|||
|
Uint16 co_SPIrange1rwpCRC;
|
|||
|
Uint16 co_SPIrange1rwps;
|
|||
|
Uint16 co_SPIrange1rwpsCRC;
|
|||
|
Uint16 co_SPIrange2rw;
|
|||
|
Uint16 co_SPIrange2rwCRC;
|
|||
|
Uint16 co_SPIrange2rwp;
|
|||
|
Uint16 co_SPIrange2rwpCRC;
|
|||
|
Uint16 co_SPIrange2rwps;
|
|||
|
Uint16 co_SPIrange2rwpsCRC;
|
|||
|
Uint16 co_SPIrange3rw;
|
|||
|
Uint16 co_SPIrange3rwCRC;
|
|||
|
Uint16 co_SPIrange3rwp;
|
|||
|
Uint16 co_SPIrange3rwpCRC;
|
|||
|
Uint16 co_SPIrange3rwps;
|
|||
|
Uint16 co_SPIrange3rwpsCRC;
|
|||
|
Uint16 co_SPIrange4rw;
|
|||
|
Uint16 co_SPIrange4rwCRC;
|
|||
|
Uint16 co_SPIrange4rwp;
|
|||
|
Uint16 co_SPIrange4rwpCRC;
|
|||
|
Uint16 co_SPIrange4rwps;
|
|||
|
Uint16 co_SPIrange4rwpsCRC;
|
|||
|
Uint16 co_SPIrange5rw;
|
|||
|
Uint16 co_SPIrange5rwCRC;
|
|||
|
Uint16 co_SPIrange5rwp;
|
|||
|
Uint16 co_SPIrange5rwpCRC;
|
|||
|
Uint16 co_SPIrange5rwps;
|
|||
|
Uint16 co_SPIrange5rwpsCRC;
|
|||
|
Uint16 co_first1000;
|
|||
|
Uint16 co_first2000;
|
|||
|
Uint16 co_first3000;
|
|||
|
Uint16 co_first4000;
|
|||
|
Uint16 co_first5000;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_CAN_Node_TypeDef* CAN_NODE_REGS;
|
|||
|
CAN_TypeDef* CAN_REGS;
|
|||
|
Uint16 CAN_NODE_MO_OFFSET;
|
|||
|
Uint16 CAN_NODE_LIST;
|
|||
|
Uint16 CAN_MO_ISR_LINE;
|
|||
|
Uint16 CAN_NVIC_ISR_LINE;
|
|||
|
void (*GpioInit)();
|
|||
|
void (*CANINTDisable)();
|
|||
|
void (*CANINTEnable)();
|
|||
|
TBlockTransfer* BT; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TBlockTransfer
|
|||
|
T_CANOPEN_DRV_SETTINGS settings;
|
|||
|
};
|
|||
|
|
|||
|
typedef volatile struct SCo_OdVars TCo_OdVars;
|
|||
|
|
|||
|
extern TCo_OdVars co1_vars;
|
|||
|
extern TCo_OdVars co2_vars;
|
|||
|
extern TBlockTransfer CAN1BlockTransfer;
|
|||
|
extern TBlockTransfer CAN2BlockTransfer;
|
|||
|
|
|||
|
//***************************************************************************************************************************************************
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/*@}*/
|
|||
|
|