| 1 | /*-----------------------------------------------------------------------------
|
|---|
| 2 | mitop.h -- Top side (Host) of messaging interface to VMOD-ICAN
|
|---|
| 3 |
|
|---|
| 4 | Copyright (c) 1994 JANZ Computer AG
|
|---|
| 5 | All Rights Reserved
|
|---|
| 6 |
|
|---|
| 7 | Created 95/06/16 by Soenke Hansen
|
|---|
| 8 | Version 1.40 of 00/03/29
|
|---|
| 9 |
|
|---|
| 10 | Functions to fill messages which can be sent to VMOD-ICAN.
|
|---|
| 11 | Functions to format the contents of messages for printing.
|
|---|
| 12 |
|
|---|
| 13 | The relevance of messages depends on the firmware on VMOD-ICAN.
|
|---|
| 14 | The firmware discards messages which it does not understand.
|
|---|
| 15 | Through preprocessor directives the set of messaging interface
|
|---|
| 16 | functions are adapted to the firmware.
|
|---|
| 17 |
|
|---|
| 18 | This file contains prototype declarations for functions in mitop.c.
|
|---|
| 19 |
|
|---|
| 20 | -----------------------------------------------------------------------------*/
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 | #ifndef mitop_DEFINED
|
|---|
| 24 | #define mitop_DEFINED
|
|---|
| 25 |
|
|---|
| 26 | #ifdef __cplusplus
|
|---|
| 27 | extern "C" {
|
|---|
| 28 | #endif
|
|---|
| 29 |
|
|---|
| 30 | #include "defs.h"
|
|---|
| 31 | #include "dpm.h"
|
|---|
| 32 |
|
|---|
| 33 | /* Classes of messages. */
|
|---|
| 34 | #define MITOP_MGR 0x0001 /* module management */
|
|---|
| 35 | #define MITOP_ICANOS 0x0002 /* raw CAN access, SW CAN filtering, timers */
|
|---|
| 36 | #define MITOP_CAL 0x0004 /* CAL */
|
|---|
| 37 |
|
|---|
| 38 | #define MITOP (MITOP_CAL + MITOP_MGR + MITOP_ICANOS)
|
|---|
| 39 | /* Adapt the mesaging interface to the firmware capabilities.
|
|---|
| 40 | The default is ICANOS and VMOD-ICAN management. */
|
|---|
| 41 | #ifndef MITOP
|
|---|
| 42 | #define MITOP (MITOP_MGR + MITOP_ICANOS)
|
|---|
| 43 | #endif
|
|---|
| 44 |
|
|---|
| 45 | /* Formatting functions are implemented if and only if
|
|---|
| 46 | MITOP_FORMAT is defined. */
|
|---|
| 47 | #define MITOP_FORMAT
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 | #if MITOP & MITOP_MGR
|
|---|
| 51 |
|
|---|
| 52 | /* Request identity and version from module */
|
|---|
| 53 | extern void IdVersReq(Message *);
|
|---|
| 54 | extern void IdVersSniffReq(Message *);
|
|---|
| 55 |
|
|---|
| 56 | /* Request free memory size */
|
|---|
| 57 | extern void CheckFreeMem(Message *, int);
|
|---|
| 58 |
|
|---|
| 59 | /* Request host interface style */
|
|---|
| 60 | extern void InquiryHostInterface(Message *);
|
|---|
| 61 |
|
|---|
| 62 | /* Request CANbus bit rate, HW acceptance code/mask and termination state */
|
|---|
| 63 | extern void InquiryCANBitRateMasksTerm(Message *);
|
|---|
| 64 |
|
|---|
| 65 | /* Request CAN controllers / modules status */
|
|---|
| 66 | extern void InquiryStatus(Message *);
|
|---|
| 67 | extern void InquiryStatusSniff(Message *);
|
|---|
| 68 | extern void InquiryControllerStatusSniff(Message *m);
|
|---|
| 69 |
|
|---|
| 70 | /* Request setting of software acceptance filter */
|
|---|
| 71 | extern void InquiryAcceptanceFilter(Message *, WORD_t);
|
|---|
| 72 |
|
|---|
| 73 | #if MITOP & MITOP_CAL
|
|---|
| 74 |
|
|---|
| 75 | /* Install CAL master on module. By default the module implements
|
|---|
| 76 | only CAL slave functionality. */
|
|---|
| 77 | extern void InstallCalMaster(Message *);
|
|---|
| 78 |
|
|---|
| 79 | /* Some host-guarding stuff */
|
|---|
| 80 | void InitHostGuarding(Message *, int, BYTE_t);
|
|---|
| 81 | void HostIsAlive(Message *);
|
|---|
| 82 |
|
|---|
| 83 | #endif
|
|---|
| 84 |
|
|---|
| 85 |
|
|---|
| 86 | void SwitchCanTermination(Message *, WORD_t);
|
|---|
| 87 | void SwitchSYSClkTermination(Message *, WORD_t);
|
|---|
| 88 |
|
|---|
| 89 | #endif
|
|---|
| 90 |
|
|---|
| 91 | #if MITOP & MITOP_ICANOS
|
|---|
| 92 |
|
|---|
| 93 | /* format sja1000 error-code-capture to readable form. */
|
|---|
| 94 | int sprintf_sja1000_ec(
|
|---|
| 95 | char *dest, /* destination for description */
|
|---|
| 96 | int ec, /* error code to format */
|
|---|
| 97 | int n ); /* max length of description */
|
|---|
| 98 |
|
|---|
| 99 | /* Start periodical clock interrupt generation. */
|
|---|
| 100 | extern void IcStartTimer(
|
|---|
| 101 | Message *, /* message buffer */
|
|---|
| 102 | WORD_t ); /* max. clock period in 100 usec units */
|
|---|
| 103 |
|
|---|
| 104 | /* Stop periodical clock interrupt generation. */
|
|---|
| 105 | extern void IcStopTimer(
|
|---|
| 106 | Message *); /* message buffer */
|
|---|
| 107 |
|
|---|
| 108 | /* Unset a user-defined timer. */
|
|---|
| 109 | extern void IcClearTimer(
|
|---|
| 110 | Message *, /* message buffer */
|
|---|
| 111 | WORD_t ); /* timer Id as confirmed on set timer req. */
|
|---|
| 112 |
|
|---|
| 113 | /* Set a timer. The alarm time "tleft" is in units of 100 usecs. */
|
|---|
| 114 | extern void IcSetTimer(
|
|---|
| 115 | Message *, /* message buffer */
|
|---|
| 116 | WORD_t , /* user request Id */
|
|---|
| 117 | WORD_t ); /* time left until alarm */
|
|---|
| 118 |
|
|---|
| 119 | /* Issue request to send a CAN message. */
|
|---|
| 120 | extern void IcSendReqBCAN(
|
|---|
| 121 | Message *, /* message buffer */
|
|---|
| 122 | int , /* pos. confirm. or echo required? */
|
|---|
| 123 | WORD_t , /* application request Id */
|
|---|
| 124 | WORD_t , /* CAN descriptor (id,rtr,dlc) */
|
|---|
| 125 | const BYTE_t *); /* data bytes to transmit */
|
|---|
| 126 |
|
|---|
| 127 | /* Abort transmit request. */
|
|---|
| 128 | extern void IcSendAbortBCAN(
|
|---|
| 129 | Message *); /* message buffer */
|
|---|
| 130 |
|
|---|
| 131 | /* Switch CAN controller bus-on. */
|
|---|
| 132 | extern void IcBusOnBCAN(
|
|---|
| 133 | Message *); /* message buffer */
|
|---|
| 134 |
|
|---|
| 135 | /* Switch CAN controller bus-off. */
|
|---|
| 136 | extern void IcBusOffBCAN(
|
|---|
| 137 | Message *); /* message buffer */
|
|---|
| 138 |
|
|---|
| 139 | /* Set bit timing parameters in CAN controller. */
|
|---|
| 140 | extern void IcWriteBtrBCAN(
|
|---|
| 141 | Message *, /* message buffer */
|
|---|
| 142 | WORD_t ); /* BTR0 and BTR1 */
|
|---|
| 143 |
|
|---|
| 144 | /* Set error-warining limit in CAN controller. */
|
|---|
| 145 | void IcWriteEwlBCAN(
|
|---|
| 146 | Message *m, /* message buffer */
|
|---|
| 147 | BYTE_t ewl ); /* Error warning limit to set */
|
|---|
| 148 |
|
|---|
| 149 | /* Enable bus-error reporting. */
|
|---|
| 150 | void IcSwitchBerrBCAN(
|
|---|
| 151 | Message *m, /* message buffer */
|
|---|
| 152 | BYTE_t state ); /* 0: disabled, 1: enabled */
|
|---|
| 153 |
|
|---|
| 154 | /* Configure self test mode */
|
|---|
| 155 | void IcSwitchStmBCAN(
|
|---|
| 156 | Message *m, /* message buffer */
|
|---|
| 157 | BYTE_t state ); /* 0: disabled, 1: enabled */
|
|---|
| 158 |
|
|---|
| 159 | /* Configure listen-only mode */
|
|---|
| 160 | void IcSwitchLomBCAN(
|
|---|
| 161 | Message *m, /* message buffer */
|
|---|
| 162 | BYTE_t state ); /* 0: disabled, 1: enabled */
|
|---|
| 163 |
|
|---|
| 164 | /* Set hardware acceptance filter in CAN controller. */
|
|---|
| 165 | extern void IcWriteAcmBCAN(
|
|---|
| 166 | Message *, /* message buffer */
|
|---|
| 167 | WORD_t ); /* acceptance code and mask */
|
|---|
| 168 |
|
|---|
| 169 | /* Set extended hardware acceptance filter in CAN controller. */
|
|---|
| 170 | void IcWriteExtAcmBCAN(
|
|---|
| 171 | Message *m, /* message buffer */
|
|---|
| 172 | int mode, /* 0: dual-, 1: single-filter-mode */
|
|---|
| 173 | LWORD_t ac, /* acceptance code */
|
|---|
| 174 | LWORD_t am ); /* acceptance mask */
|
|---|
| 175 |
|
|---|
| 176 | /* Change software acceptance filter: accept all CAN messages
|
|---|
| 177 | with given Id. */
|
|---|
| 178 | extern void IcOpenAfil(
|
|---|
| 179 | Message *, /* message buffer */
|
|---|
| 180 | WORD_t ); /* this Id passes the filter */
|
|---|
| 181 |
|
|---|
| 182 | /* Change software acceptance filter: reject all CAN messages
|
|---|
| 183 | with given Id. */
|
|---|
| 184 | extern void IcCloseAfil(
|
|---|
| 185 | Message *, /* message buffer */
|
|---|
| 186 | WORD_t ); /* messages with this Id are rejected */
|
|---|
| 187 |
|
|---|
| 188 | /* Change software acceptance filter: accept all CAN messages
|
|---|
| 189 | with IDs in specified range. */
|
|---|
| 190 | extern void IcRangeOpenAfil(
|
|---|
| 191 | Message *, /* message buffer */
|
|---|
| 192 | WORD_t , /* lower bound of Id range */
|
|---|
| 193 | WORD_t ); /* upper bound of Id range */
|
|---|
| 194 |
|
|---|
| 195 | /* Change software acceptance filter: reject all CAN messages
|
|---|
| 196 | with IDs in specified range. */
|
|---|
| 197 | extern void IcRangeCloseAfil(
|
|---|
| 198 | Message *, /* message buffer */
|
|---|
| 199 | WORD_t , /* lower bound of Id range */
|
|---|
| 200 | WORD_t ); /* upper bound of Id range */
|
|---|
| 201 |
|
|---|
| 202 | /* Set software acceptance filter mask. */
|
|---|
| 203 | void IcSetAfil(
|
|---|
| 204 | Message *m, /* message buffer */
|
|---|
| 205 | WORD_t id, /* this Ids filter is set ... */
|
|---|
| 206 | WORD_t mask /* ... to this value. */
|
|---|
| 207 | );
|
|---|
| 208 |
|
|---|
| 209 | /* Set software acceptance filter mask for a range of Ids. */
|
|---|
| 210 | void IcRangeSetAfil(
|
|---|
| 211 | Message *m, /* message buffer */
|
|---|
| 212 | WORD_t idl, /* this Ids filter is set ... */
|
|---|
| 213 | WORD_t idh, /* this Ids filter is set ... */
|
|---|
| 214 | WORD_t mask /* ... to this value. */
|
|---|
| 215 | );
|
|---|
| 216 |
|
|---|
| 217 | void IcCreateCycSendList(
|
|---|
| 218 | Message *m, /* message buffer */
|
|---|
| 219 | WORD_t cyctim /* cycle-time to send data */
|
|---|
| 220 | );
|
|---|
| 221 |
|
|---|
| 222 | void IcDeleteCycSendList(
|
|---|
| 223 | Message *m, /* message buffer */
|
|---|
| 224 | BYTE_t listNo /* number of list to delete */
|
|---|
| 225 | );
|
|---|
| 226 |
|
|---|
| 227 | void IcAddMsgToCycSendList(
|
|---|
| 228 | Message *m, /* message buffer */
|
|---|
| 229 | BYTE_t listId, /* list number where the message should */
|
|---|
| 230 | /* be added to */
|
|---|
| 231 | WORD_t id, /* CANbus id */
|
|---|
| 232 | BYTE_t len, /* CANbus message length */
|
|---|
| 233 | BYTE_t rtr, /* rtr bit [0,1] */
|
|---|
| 234 | BYTE_t *data /* pointer to data */
|
|---|
| 235 | );
|
|---|
| 236 |
|
|---|
| 237 | /* Set priority boundaries. */
|
|---|
| 238 | void IcSetPrioBnd(
|
|---|
| 239 | Message *m, /* message buffer */
|
|---|
| 240 | WORD_t hi_mid_boundary, /* boundary between hi and mid prior. */
|
|---|
| 241 | WORD_t mid_low_boundary /* boundary between mid and low prior.*/
|
|---|
| 242 | );
|
|---|
| 243 |
|
|---|
| 244 |
|
|---|
| 245 | /* Set host endianess. */
|
|---|
| 246 | void SetHostEndianess(
|
|---|
| 247 | Message *m, /* message buffer */
|
|---|
| 248 | BYTE_t endianess /* endianess */
|
|---|
| 249 | );
|
|---|
| 250 |
|
|---|
| 251 | /* Init bulk buffer with timeout only */
|
|---|
| 252 | void InitBulkBufferTimeout(
|
|---|
| 253 | Message *m, /* message buffer */
|
|---|
| 254 | WORD_t timeout /* time after bulk buffer message will be sent */
|
|---|
| 255 | );
|
|---|
| 256 |
|
|---|
| 257 | /* Init bulk buffer with timeout and sizes */
|
|---|
| 258 | void InitBulkBuffer(
|
|---|
| 259 | Message *m, /* message buffer */
|
|---|
| 260 | WORD_t timeout, /* time after bulk buffer message will be sent */
|
|---|
| 261 | BYTE_t maxMsgInBulkMsg, /* max. number of bulk msgs. in one bulk message */
|
|---|
| 262 | BYTE_t maxBulkMsgPreAlloc /* max. number of preallocated bulk messages */
|
|---|
| 263 | );
|
|---|
| 264 |
|
|---|
| 265 | /* Init sniff buffer */
|
|---|
| 266 | void InitSniffBufferTimeout(
|
|---|
| 267 | Message *m, /* message buffer */
|
|---|
| 268 | WORD_t timeout /* time after sniff buffer message will be sent */
|
|---|
| 269 | );
|
|---|
| 270 | void InitSniffBuffer(
|
|---|
| 271 | Message *m, /* message buffer */
|
|---|
| 272 | WORD_t timeout, /* time after bulk buffer message will be sent */
|
|---|
| 273 | BYTE_t maxByteInSniffMsg, /* max. number of msg.-bytes in one sniff message */
|
|---|
| 274 | BYTE_t maxSniffMsgPreAlloc /* max. number of preallocated sniff messages */
|
|---|
| 275 | );
|
|---|
| 276 |
|
|---|
| 277 | /* Config sniff buffer */
|
|---|
| 278 | void ConfigSniffBufferEcho(
|
|---|
| 279 | Message *m, /* message buffer */
|
|---|
| 280 | WORD_t echoFromQueue /* specifies the queues, a sent message should be echoed from */
|
|---|
| 281 | );
|
|---|
| 282 |
|
|---|
| 283 | void ConfigSniffBufferAfilStd(
|
|---|
| 284 | Message *m, /* message buffer */
|
|---|
| 285 | WORD_t idl, /* lower bound of Id range */
|
|---|
| 286 | WORD_t idh, /* upper bound of Id range */
|
|---|
| 287 | BYTE_t mask /* filter mask to use ([0..1] */
|
|---|
| 288 | );
|
|---|
| 289 |
|
|---|
| 290 | void ConfigSniffBufferAfilXtd(
|
|---|
| 291 | Message *m, /* message buffer */
|
|---|
| 292 | WORD_t idl, /* lower bound of Id range (13 MSB!) */
|
|---|
| 293 | WORD_t idh, /* upper bound of Id range (13 MSB!) */
|
|---|
| 294 | BYTE_t mask /* filter mask to use ([0..1] */
|
|---|
| 295 | );
|
|---|
| 296 |
|
|---|
| 297 | void InitBusLoadStatistic(
|
|---|
| 298 | Message *m, /* message buffer */
|
|---|
| 299 | WORD_t intTime, /* integration time (in times of 10 ms) */
|
|---|
| 300 | BYTE_t flags /* some flags */
|
|---|
| 301 | );
|
|---|
| 302 |
|
|---|
| 303 | void InitSniffBusLoadStatistic(
|
|---|
| 304 | Message *m, /* message buffer */
|
|---|
| 305 | WORD_t intTime, /* integration time (in times of 10 ms) */
|
|---|
| 306 | BYTE_t flags /* some flags */
|
|---|
| 307 | );
|
|---|
| 308 |
|
|---|
| 309 | void RequestBusLoadStatistic(
|
|---|
| 310 | Message *m, /* message buffer */
|
|---|
| 311 | BYTE_t choice /* choose the kind of statistics */
|
|---|
| 312 | );
|
|---|
| 313 |
|
|---|
| 314 | #endif /* MITOP & MITOP_ICANOS */
|
|---|
| 315 |
|
|---|
| 316 |
|
|---|
| 317 | #if MITOP & MITOP_CAL
|
|---|
| 318 |
|
|---|
| 319 | /* Create Node request */
|
|---|
| 320 | extern void NsCreateNodeReq(
|
|---|
| 321 | Message *, /* message buffer */
|
|---|
| 322 | int, /* module Id */
|
|---|
| 323 | const char *, /* module name string (strlen==7) */
|
|---|
| 324 | int); /* CAL node class */
|
|---|
| 325 |
|
|---|
| 326 | /* Create Node request */
|
|---|
| 327 | extern void NsCreateCOPNodeReq(
|
|---|
| 328 | Message *, /* message buffer */
|
|---|
| 329 | int, /* module Id */
|
|---|
| 330 | const char *, /* module name string (strlen==7) */
|
|---|
| 331 | int); /* CAL node class */
|
|---|
| 332 |
|
|---|
| 333 | /* Config NMT of CANopen slave node request */
|
|---|
| 334 | extern void NsConfigCOPNodeReq(
|
|---|
| 335 | Message *m, /* message buffer */
|
|---|
| 336 | WORD_t guard_time, /* guard time in ms */
|
|---|
| 337 | int life_fac, /* life time factor */
|
|---|
| 338 | int guard_start); /* timepoint of guarding start */
|
|---|
| 339 |
|
|---|
| 340 | /* Config CAL NMT slave node request */
|
|---|
| 341 | extern void NsConfigNodeReq(
|
|---|
| 342 | Message *m, /* message buffer */
|
|---|
| 343 | WORD_t mux, /* multiplexor */
|
|---|
| 344 | WORD_t flags); /* flags */
|
|---|
| 345 |
|
|---|
| 346 | /* Configuration download acknowledge response */
|
|---|
| 347 | extern void NsConfigAck(
|
|---|
| 348 | Message *m); /* message buffer */
|
|---|
| 349 |
|
|---|
| 350 | /* NMT slave configuration transfer abort request */
|
|---|
| 351 | extern void NsConfigAbort(
|
|---|
| 352 | Message *m, /* message buffer */
|
|---|
| 353 | int failureReason, /* failure reason */
|
|---|
| 354 | int applSpecificReason); /* appl. specific failure reason */
|
|---|
| 355 |
|
|---|
| 356 | /* NMT slave configuration transfer verify response */
|
|---|
| 357 | extern void NsConfigVerify(
|
|---|
| 358 | Message *m, /* message buffer */
|
|---|
| 359 | int verificationResult, /* result of verification */
|
|---|
| 360 | int reason); /* failure reason */
|
|---|
| 361 |
|
|---|
| 362 | /* Delete Node request */
|
|---|
| 363 | extern void NsDeleteNodeReq(
|
|---|
| 364 | Message *); /* message buffer */
|
|---|
| 365 |
|
|---|
| 366 | /* Identify Node request */
|
|---|
| 367 | extern void NsIdentifyNodeReq(
|
|---|
| 368 | Message *); /* message buffer */
|
|---|
| 369 |
|
|---|
| 370 | /* Connect Node request */
|
|---|
| 371 | extern void NsConnectNodeReq(
|
|---|
| 372 | Message *, /* message buffer */
|
|---|
| 373 | int , /* download requested? */
|
|---|
| 374 | WORD_t , /* guard time in ms */
|
|---|
| 375 | int ); /* life time factor */
|
|---|
| 376 |
|
|---|
| 377 | /* Disconnect Node request */
|
|---|
| 378 | extern void NsDisconnectNodeReq(
|
|---|
| 379 | Message *); /* message buffer */
|
|---|
| 380 |
|
|---|
| 381 | /* Prepare Remote Node Response */
|
|---|
| 382 | extern void NsPrepareRemoteNodeRes(
|
|---|
| 383 | Message *, /* message buffer */
|
|---|
| 384 | int ); /* 0 or error code of CAL protocol */
|
|---|
| 385 |
|
|---|
| 386 | /* Delete User Definition request */
|
|---|
| 387 | extern void DsDeleteUserDefReq(
|
|---|
| 388 | Message *, /* message buffer */
|
|---|
| 389 | int ); /* node Id */
|
|---|
| 390 |
|
|---|
| 391 | /* Create all User Definitions request:
|
|---|
| 392 | Initiate the Create User Definition service for the COB's
|
|---|
| 393 | used by by the currently defined CMS objects. */
|
|---|
| 394 | extern void DsCreateAllUserDefReq(
|
|---|
| 395 | Message *); /* message buffer */
|
|---|
| 396 |
|
|---|
| 397 | /* Get Checksum request */
|
|---|
| 398 | extern void DsGetChecksumReq(
|
|---|
| 399 | Message *, /* message buffer */
|
|---|
| 400 | int ); /* node Id */
|
|---|
| 401 |
|
|---|
| 402 | /* Delete User Definition request */
|
|---|
| 403 | extern void DsVerifyCobClassReq(
|
|---|
| 404 | Message *); /* message buffer */
|
|---|
| 405 |
|
|---|
| 406 | /* Set Bit Timing and Attach CAN controller to CAN bus */
|
|---|
| 407 | extern void LsBusOnReq(
|
|---|
| 408 | Message *, /* message buffer */
|
|---|
| 409 | WORD_t ); /* Bit timing parameters */
|
|---|
| 410 |
|
|---|
| 411 | /* Detach CAN controller from CAN bus */
|
|---|
| 412 | extern void LsBusOffReq(
|
|---|
| 413 | Message *); /* message buffer */
|
|---|
| 414 |
|
|---|
| 415 | /* Control bus error generation */
|
|---|
| 416 | void LsSwitchBerrReq(
|
|---|
| 417 | Message *m, /* message buffer */
|
|---|
| 418 | BYTE_t state ); /* 0: disabled, 1: enabled */
|
|---|
| 419 |
|
|---|
| 420 | /* Set Error warning limit threshold */
|
|---|
| 421 | void LsSetEwlReq(
|
|---|
| 422 | Message *m, /* message buffer */
|
|---|
| 423 | BYTE_t ewl ); /* Error warning limit to set */
|
|---|
| 424 |
|
|---|
| 425 | /* Control self-test mode */
|
|---|
| 426 | void LsSwitchStmReq(
|
|---|
| 427 | Message *m, /* message buffer */
|
|---|
| 428 | BYTE_t state ); /* 0: disabled, 1: enabled */
|
|---|
| 429 |
|
|---|
| 430 | /* Control listen-only mode */
|
|---|
| 431 | void LsSwitchLomReq(
|
|---|
| 432 | Message *m, /* message buffer */
|
|---|
| 433 | BYTE_t state ); /* 0: disabled, 1: enabled */
|
|---|
| 434 |
|
|---|
| 435 | /* Add Remote Node request */
|
|---|
| 436 | extern void NmAddRemoteNodeReq(
|
|---|
| 437 | Message *, /* message buffer */
|
|---|
| 438 | int, /* module Id */
|
|---|
| 439 | const char *); /* module name string (strlen==7) */
|
|---|
| 440 |
|
|---|
| 441 | /* Add Remote CANopen Node request */
|
|---|
| 442 | extern void NmAddRemoteCOPNodeReq(
|
|---|
| 443 | Message *, /* message buffer */
|
|---|
| 444 | int, /* module Id */
|
|---|
| 445 | const char *, /* module name string (strlen==7) */
|
|---|
| 446 | WORD_t, /* default guard time */
|
|---|
| 447 | int ); /* default node class */
|
|---|
| 448 |
|
|---|
| 449 | /* Add Remote CANopen Node request with user given guarding IDs */
|
|---|
| 450 | extern void NmAddRemoteCOPNodeGidReq(
|
|---|
| 451 | Message *, /* message buffer */
|
|---|
| 452 | int, /* module Id */
|
|---|
| 453 | const char *, /* module name string (strlen==7) */
|
|---|
| 454 | WORD_t, /* default guard time */
|
|---|
| 455 | int, /* default node class */
|
|---|
| 456 | WORD_t); /* user given guarding ID */
|
|---|
| 457 |
|
|---|
| 458 | /* Remove Remote Node request */
|
|---|
| 459 | extern void NmRemoveRemoteNodeReq(
|
|---|
| 460 | Message *, /* message buffer */
|
|---|
| 461 | int , /* module Id */
|
|---|
| 462 | const char *); /* module name string (strlen==7) */
|
|---|
| 463 |
|
|---|
| 464 | /* Connect Remote Node request */
|
|---|
| 465 | extern void NmConnectRemoteNodeReq(
|
|---|
| 466 | Message *, /* message buffer */
|
|---|
| 467 | int , /* module Id */
|
|---|
| 468 | const char *); /* module name string (strlen==7) */
|
|---|
| 469 |
|
|---|
| 470 | /* Prepare Remote Node request */
|
|---|
| 471 | extern void NmPrepareRemoteNodeReq(
|
|---|
| 472 | Message *, /* message buffer */
|
|---|
| 473 | int ); /* node Id */
|
|---|
| 474 |
|
|---|
| 475 | /* Start Remote Node request */
|
|---|
| 476 | extern void NmStartRemoteNodeReq(
|
|---|
| 477 | Message *, /* message buffer */
|
|---|
| 478 | int ); /* node Id */
|
|---|
| 479 |
|
|---|
| 480 | /* Stop Remote Node request */
|
|---|
| 481 | extern void NmStopRemoteNodeReq(
|
|---|
| 482 | Message *, /* message buffer */
|
|---|
| 483 | int ); /* node Id */
|
|---|
| 484 |
|
|---|
| 485 | /* Disconnect Remote Node request */
|
|---|
| 486 | extern void NmDisconnectRemoteNodeReq(
|
|---|
| 487 | Message *, /* message buffer */
|
|---|
| 488 | int ); /* node Id */
|
|---|
| 489 |
|
|---|
| 490 | /* Enter preoperational state request */
|
|---|
| 491 | extern void NmEnterPreOperationalStateReq(
|
|---|
| 492 | Message *, /* message buffer */
|
|---|
| 493 | int ); /* node Id */
|
|---|
| 494 |
|
|---|
| 495 | /* Reset node request */
|
|---|
| 496 | extern void NmResetNodeReq(
|
|---|
| 497 | Message *, /* message buffer */
|
|---|
| 498 | int ); /* node Id */
|
|---|
| 499 |
|
|---|
| 500 | void NmStartGuardRemoteCOPNodeReq(
|
|---|
| 501 | Message *, /* message buffer */
|
|---|
| 502 | int ); /* node Id */
|
|---|
| 503 |
|
|---|
| 504 | /* Reset communication request */
|
|---|
| 505 | extern void NmResetCommunicationReq(
|
|---|
| 506 | Message *, /* message buffer */
|
|---|
| 507 | int ); /* node Id */
|
|---|
| 508 |
|
|---|
| 509 | /* Identify Remote Nodes request */
|
|---|
| 510 | extern void NmIdentifyRemoteNodesReq(
|
|---|
| 511 | Message *, /* message buffer */
|
|---|
| 512 | int , /* min. node Id in range */
|
|---|
| 513 | int ); /* max. node Id in range */
|
|---|
| 514 |
|
|---|
| 515 | /* Get NMT Remote Nodes request */
|
|---|
| 516 | extern void NmGetRemNodes(
|
|---|
| 517 | Message *, /* message buffer */
|
|---|
| 518 | int ); /* node Id (0 to get all) */
|
|---|
| 519 |
|
|---|
| 520 | /* Configure NMT master behaviour */
|
|---|
| 521 | extern void NmConfig(
|
|---|
| 522 | Message *m, /* message buffer */
|
|---|
| 523 | WORD_t timeout, /* service timeout (in milliseconds) */
|
|---|
| 524 | WORD_t gt, /* guard time (in milliseconds) */
|
|---|
| 525 | int lf, /* life time factor */
|
|---|
| 526 | WORD_t flags /* configuration flags */
|
|---|
| 527 | );
|
|---|
| 528 |
|
|---|
| 529 |
|
|---|
| 530 | /* Start Nmt configuration download request */
|
|---|
| 531 | extern void NmConfigDownloadStartReq(
|
|---|
| 532 | Message *m, /* message buffer */
|
|---|
| 533 | int nid, /* node ID of slave node to dwonload to */
|
|---|
| 534 | int size, /* size of whole configuration data chunk */
|
|---|
| 535 | int dblk, /* size of configuration data in this message */
|
|---|
| 536 | int more, /* set to one if other datablocks will follow */
|
|---|
| 537 | const void *data /* data block */
|
|---|
| 538 | );
|
|---|
| 539 |
|
|---|
| 540 | /* Start subsequesnt Nmt configuration download continue response */
|
|---|
| 541 | extern void NmConfigDownloadContRes(
|
|---|
| 542 | Message *m, /* message buffer */
|
|---|
| 543 | int nid, /* node ID of slave node to dwonload to */
|
|---|
| 544 | int dblk, /* size of configuration data in this message */
|
|---|
| 545 | int more, /* set to one if other datablocks will follow */
|
|---|
| 546 | const void *data /* data block */
|
|---|
| 547 | );
|
|---|
| 548 |
|
|---|
| 549 | /* NMT master configuration transfer abort request */
|
|---|
| 550 | extern void NmConfigAbort(
|
|---|
| 551 | Message *m, /* message buffer */
|
|---|
| 552 | int nid, /* node id of peer node */
|
|---|
| 553 | int failureReason, /* failure reason */
|
|---|
| 554 | int applSpecificReason); /* appl. specific failure reason */
|
|---|
| 555 |
|
|---|
| 556 | extern void NmConfigVerify(
|
|---|
| 557 | Message *m, /* message buffer */
|
|---|
| 558 | int nid, /* remote node of interest */
|
|---|
| 559 | int checksum); /* checksum */
|
|---|
| 560 |
|
|---|
| 561 | /* Create COB Definition request */
|
|---|
| 562 | extern void DmCreateCobDefReq(
|
|---|
| 563 | Message *, /* message buffer */
|
|---|
| 564 | WORD_t , /* low COB-ID */
|
|---|
| 565 | WORD_t , /* high COB-ID */
|
|---|
| 566 | int ); /* min. inhibit time */
|
|---|
| 567 |
|
|---|
| 568 | /* Delete COB Definition request */
|
|---|
| 569 | extern void DmDeleteCobDefReq(
|
|---|
| 570 | Message *, /* message buffer */
|
|---|
| 571 | WORD_t , /* low COB-ID */
|
|---|
| 572 | WORD_t ); /* high COB-ID */
|
|---|
| 573 |
|
|---|
| 574 | /* Create Predefinition request */
|
|---|
| 575 | extern void DmCreatePreDefReq(
|
|---|
| 576 | Message *, /* message buffer */
|
|---|
| 577 | WORD_t, /* COB-ID */
|
|---|
| 578 | const char *); /* COB-Name string (strlen==14) */
|
|---|
| 579 |
|
|---|
| 580 | /* Delete Predefinition request */
|
|---|
| 581 | extern void DmDeletePreDefReq(
|
|---|
| 582 | Message *, /* message buffer */
|
|---|
| 583 | const char *); /* COB-Name string (strlen==14) */
|
|---|
| 584 |
|
|---|
| 585 | /* Get COB Database request */
|
|---|
| 586 | extern void DmGetCobDbReq(
|
|---|
| 587 | Message *); /* message buffer */
|
|---|
| 588 |
|
|---|
| 589 | void DmConfig(
|
|---|
| 590 | Message *m, /* message buffer */
|
|---|
| 591 | WORD_t timeout, /* service timeout (in milliseconds) */
|
|---|
| 592 | WORD_t flags /* configuration flags */
|
|---|
| 593 | );
|
|---|
| 594 |
|
|---|
| 595 | void CmsPatchHostId(
|
|---|
| 596 | Message *m, /* message buffer */
|
|---|
| 597 | WORD_t hid /* ID to be assigned to object */
|
|---|
| 598 | );
|
|---|
| 599 |
|
|---|
| 600 | /* Define a Domain */
|
|---|
| 601 | extern void CmsDomain(
|
|---|
| 602 | Message *, /* message buffer */
|
|---|
| 603 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 604 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 605 | int , /* muxlen ? ? */
|
|---|
| 606 | int /* priority */
|
|---|
| 607 | );
|
|---|
| 608 |
|
|---|
| 609 | /* Define a multipexed Domain */
|
|---|
| 610 | extern void CmsMultiplexedDomain(
|
|---|
| 611 | Message *, /* message buffer */
|
|---|
| 612 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 613 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 614 | int , /* muxlen ? ? */
|
|---|
| 615 | int /* priority */
|
|---|
| 616 | );
|
|---|
| 617 |
|
|---|
| 618 | /* Define a multipexed Domain for CANopen SDO */
|
|---|
| 619 | extern void CmsMultiplexedDomainSDO(
|
|---|
| 620 | Message *, /* message buffer */
|
|---|
| 621 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 622 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 623 | int , /* muxlen ? ? */
|
|---|
| 624 | int , /* priority */
|
|---|
| 625 | WORD_t, /* Tx_SDO_ID as seen by node */
|
|---|
| 626 | WORD_t, /* Rx_SDO ID as seen by node */
|
|---|
| 627 | BYTE_t /* dbt_cap - DBT capibility of CANopen node */
|
|---|
| 628 | );
|
|---|
| 629 |
|
|---|
| 630 | /* Change a multipexed Domain's ID for CANopen SDO */
|
|---|
| 631 | extern void CmsMultiplexedDomainChangeIdSDO(
|
|---|
| 632 | Message *, /* message buffer */
|
|---|
| 633 | WORD_t , /* object id */
|
|---|
| 634 | WORD_t, /* Tx_SDO_ID as seen by node */
|
|---|
| 635 | WORD_t /* Rx_SDO ID as seen by node */
|
|---|
| 636 | );
|
|---|
| 637 |
|
|---|
| 638 | /* Define a Basic Variable */
|
|---|
| 639 | extern void CmsBasicVariable(
|
|---|
| 640 | Message *, /* message buffer */
|
|---|
| 641 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 642 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 643 | WORD_t , /* CMS_READ_ONLY,... (see: cms.h) */
|
|---|
| 644 | int , /* length of data type */
|
|---|
| 645 | int ); /* priority */
|
|---|
| 646 |
|
|---|
| 647 | /* Define a Basic Variable with predefined CobId */
|
|---|
| 648 | extern void CmsBasicVariablePredefCobId(
|
|---|
| 649 | Message *, /* message buffer */
|
|---|
| 650 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 651 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 652 | WORD_t , /* CMS_READ_ONLY,... (see: cms.h) */
|
|---|
| 653 | int , /* length of data type */
|
|---|
| 654 | int , /* priority */
|
|---|
| 655 | WORD_t ,
|
|---|
| 656 | WORD_t ,
|
|---|
| 657 | BYTE_t );
|
|---|
| 658 |
|
|---|
| 659 | /* Define a Multiplexed Variable */
|
|---|
| 660 | extern void CmsMultiplexedVariable(
|
|---|
| 661 | Message *, /* message buffer */
|
|---|
| 662 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 663 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 664 | WORD_t , /* CMS_READ_ONLY,... (see: cms.h) */
|
|---|
| 665 | int , /* length of data type */
|
|---|
| 666 | int ); /* priority */
|
|---|
| 667 |
|
|---|
| 668 | /* Define an Uncontrolled Event */
|
|---|
| 669 | extern void CmsUncontrolledEvent(
|
|---|
| 670 | Message *, /* message buffer */
|
|---|
| 671 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 672 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 673 | int , /* length of data type */
|
|---|
| 674 | int ); /* priority */
|
|---|
| 675 |
|
|---|
| 676 | /* Define a Controlled Event */
|
|---|
| 677 | extern void CmsControlledEvent(
|
|---|
| 678 | Message *, /* message buffer */
|
|---|
| 679 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 680 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 681 | int , /* length of data type */
|
|---|
| 682 | int ); /* priority */
|
|---|
| 683 |
|
|---|
| 684 | /* Define a Stored Event */
|
|---|
| 685 | extern void CmsStoredEvent(
|
|---|
| 686 | Message *, /* message buffer */
|
|---|
| 687 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 688 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 689 | int , /* length of data type */
|
|---|
| 690 | int ); /* priority */
|
|---|
| 691 |
|
|---|
| 692 | /* Define a Stored Event with predefined CobId */
|
|---|
| 693 | extern void CmsStoredEventPredefCobId(
|
|---|
| 694 | Message *, /* message buffer */
|
|---|
| 695 | const char *, /* CMS name string (strlen==13) */
|
|---|
| 696 | WORD_t , /* CMS_CLIENT, CMS_SERVER (see: cms.h) */
|
|---|
| 697 | int , /* length of data type */
|
|---|
| 698 | int , /* priority */
|
|---|
| 699 | WORD_t ,
|
|---|
| 700 | WORD_t ,
|
|---|
| 701 | BYTE_t );
|
|---|
| 702 |
|
|---|
| 703 | void ConfigDomainObject(
|
|---|
| 704 | Message *m, /* message buffer */
|
|---|
| 705 | WORD_t cid, /* object id */
|
|---|
| 706 | WORD_t mux, /* multiplexor */
|
|---|
| 707 | WORD_t flags /* parameter flags */
|
|---|
| 708 | );
|
|---|
| 709 |
|
|---|
| 710 | void ConfigCmsObject(
|
|---|
| 711 | Message *m, /* message buffer */
|
|---|
| 712 | WORD_t cid, /* object id */
|
|---|
| 713 | WORD_t mux, /* multiplexor */
|
|---|
| 714 | WORD_t param /* parameter */
|
|---|
| 715 | );
|
|---|
| 716 |
|
|---|
| 717 | void CmsConfig(
|
|---|
| 718 | Message *m, /* message buffer */
|
|---|
| 719 | WORD_t flags /* parameter flags */
|
|---|
| 720 | );
|
|---|
| 721 |
|
|---|
| 722 | /* Update Variable in server of a Read-Only Variable */
|
|---|
| 723 | extern void CmsUpdateVariable(
|
|---|
| 724 | Message *, /* message buffer */
|
|---|
| 725 | WORD_t , /* Id of CMS Variable */
|
|---|
| 726 | int , /* length of data type */
|
|---|
| 727 | const BYTE_t *); /* value matching data type */
|
|---|
| 728 |
|
|---|
| 729 | /* Write Variable request by client of a Basic Variable */
|
|---|
| 730 | extern void CmsWriteVariable(
|
|---|
| 731 | Message *, /* message buffer */
|
|---|
| 732 | WORD_t , /* Id of CMS Variable */
|
|---|
| 733 | int , /* length of data type */
|
|---|
| 734 | const BYTE_t *); /* value matching data type */
|
|---|
| 735 |
|
|---|
| 736 | /* Read Variable request by client of a Basic Variable */
|
|---|
| 737 | extern void CmsReadVariable(
|
|---|
| 738 | Message *, /* message buffer */
|
|---|
| 739 | WORD_t ); /* Id of CMS Variable */
|
|---|
| 740 |
|
|---|
| 741 | /* Write Multiplexed Variable request by client of a Basic Variable */
|
|---|
| 742 | extern void CmsWriteMultiplexedVariable(
|
|---|
| 743 | Message *, /* message buffer */
|
|---|
| 744 | WORD_t , /* Id of CMS Variable */
|
|---|
| 745 | int , /* length of data type */
|
|---|
| 746 | int , /* multiplexor */
|
|---|
| 747 | const BYTE_t *); /* value matching data type */
|
|---|
| 748 |
|
|---|
| 749 | /* Read Mulitplexed Variable request by client of a Basic Variable */
|
|---|
| 750 | extern void CmsReadMultiplexedVariable(
|
|---|
| 751 | Message *, /* message buffer */
|
|---|
| 752 | WORD_t , /* Id of CMS Variable */
|
|---|
| 753 | int ); /* multiplexor */
|
|---|
| 754 |
|
|---|
| 755 | void CmsWriteVariableRes(
|
|---|
| 756 | Message *m, /* message buffer */
|
|---|
| 757 | WORD_t cid, /* Id of CMS Variable */
|
|---|
| 758 | int dlen, /* length of data type */
|
|---|
| 759 | int stat, /* operation status */
|
|---|
| 760 | const BYTE_t *value /* value matching data type */
|
|---|
| 761 | );
|
|---|
| 762 |
|
|---|
| 763 | void CmsReadVariableRes(
|
|---|
| 764 | Message *m, /* message buffer */
|
|---|
| 765 | WORD_t cid, /* Id of CMS Variable */
|
|---|
| 766 | int dlen, /* length of data type */
|
|---|
| 767 | int stat, /* operation status */
|
|---|
| 768 | const BYTE_t *value /* value matching data type */
|
|---|
| 769 | );
|
|---|
| 770 |
|
|---|
| 771 |
|
|---|
| 772 | /* Notify Event to clients */
|
|---|
| 773 | extern void CmsNotifyEvent(
|
|---|
| 774 | Message *, /* message buffer */
|
|---|
| 775 | WORD_t , /* Id of CMS Variable */
|
|---|
| 776 | int , /* length of data type */
|
|---|
| 777 | const BYTE_t *); /* value matching data type */
|
|---|
| 778 |
|
|---|
| 779 | /* Store and Notify Eventy to clients */
|
|---|
| 780 | extern void CmsStoreEvent(
|
|---|
| 781 | Message *, /* message buffer */
|
|---|
| 782 | WORD_t , /* Id of CMS Variable */
|
|---|
| 783 | int , /* length of data type */
|
|---|
| 784 | const BYTE_t *, /* value matching data type */
|
|---|
| 785 | int ); /* !=0 for immediate notification */
|
|---|
| 786 |
|
|---|
| 787 | /* Read Event */
|
|---|
| 788 | extern void CmsReadEvent(
|
|---|
| 789 | Message *, /* message buffer */
|
|---|
| 790 | WORD_t ); /* Id of CMS Variable */
|
|---|
| 791 |
|
|---|
| 792 | /* Set Event Control State Request */
|
|---|
| 793 | extern void CmsSetControlEventReq(
|
|---|
| 794 | Message *, /* message buffer */
|
|---|
| 795 | WORD_t , /* Id of CMS Variable */
|
|---|
| 796 | int ); /* !=0 to enable event in server */
|
|---|
| 797 |
|
|---|
| 798 | /* Set Event Control State Response */
|
|---|
| 799 | extern void CmsSetControlEventRes(
|
|---|
| 800 | Message *, /* message buffer */
|
|---|
| 801 | WORD_t , /* Id of CMS Variable */
|
|---|
| 802 | int , /* !=0 to indicate error */
|
|---|
| 803 | int , /* !=0 to enable event in server */
|
|---|
| 804 | const BYTE_t * /* reason in case of error */
|
|---|
| 805 | );
|
|---|
| 806 |
|
|---|
| 807 |
|
|---|
| 808 | extern void CmsDomDownloadStart(
|
|---|
| 809 | Message *,
|
|---|
| 810 | WORD_t , /* Id of CMS Domain */
|
|---|
| 811 | int , /* option flags */
|
|---|
| 812 | int , /* domain multiplexor */
|
|---|
| 813 | int , /* whole data length */
|
|---|
| 814 | int , /* data length of current message */
|
|---|
| 815 | const void * /* data block */
|
|---|
| 816 | );
|
|---|
| 817 |
|
|---|
| 818 | extern void CmsDomDownloadCont(
|
|---|
| 819 | Message *,
|
|---|
| 820 | WORD_t , /* Id of CMS Domain */
|
|---|
| 821 | int , /* option flags */
|
|---|
| 822 | int , /* data length of current message */
|
|---|
| 823 | const void * /* data block */
|
|---|
| 824 | );
|
|---|
| 825 |
|
|---|
| 826 | extern void CmsDomUploadStart(
|
|---|
| 827 | Message *m,
|
|---|
| 828 | WORD_t cid, /* Id of CMS Domain */
|
|---|
| 829 | int mux /* Multiplexor type */
|
|---|
| 830 | );
|
|---|
| 831 |
|
|---|
| 832 | void CmsDomUpload(
|
|---|
| 833 | Message *m,
|
|---|
| 834 | WORD_t cid, /* Id of CMS Domain */
|
|---|
| 835 | int cs, /* option flags */
|
|---|
| 836 | int size, /* whole data length */
|
|---|
| 837 | int dblk, /* data length of current message */
|
|---|
| 838 | const void *data /* data block */
|
|---|
| 839 | );
|
|---|
| 840 |
|
|---|
| 841 | void CmsDomUploadCont(
|
|---|
| 842 | Message *m,
|
|---|
| 843 | WORD_t cid, /* Id of CMS Domain */
|
|---|
| 844 | int cs, /* option flags */
|
|---|
| 845 | int dblk, /* data length of current message */
|
|---|
| 846 | const void *data /* data block */
|
|---|
| 847 | );
|
|---|
| 848 |
|
|---|
| 849 | void CmsDomainAck(
|
|---|
| 850 | Message *m,
|
|---|
| 851 | WORD_t cid
|
|---|
| 852 | );
|
|---|
| 853 |
|
|---|
| 854 | void CmsDomainRcptAck(
|
|---|
| 855 | Message *m,
|
|---|
| 856 | WORD_t cid
|
|---|
| 857 | );
|
|---|
| 858 |
|
|---|
| 859 | void CmsDomAbort(
|
|---|
| 860 | Message *m,
|
|---|
| 861 | WORD_t cid, /* Id of CMS Domain */
|
|---|
| 862 | const void *data /* data block pointer or zero */
|
|---|
| 863 | );
|
|---|
| 864 |
|
|---|
| 865 | #endif /* MITOP & MITOP_CAL */
|
|---|
| 866 |
|
|---|
| 867 | #ifdef MITOP_FORMAT
|
|---|
| 868 |
|
|---|
| 869 | /* Format the contents of messages for display. */
|
|---|
| 870 | #if MITOP & MITOP_MGR
|
|---|
| 871 | extern void format_modulmgr(char *, int, const Message *);
|
|---|
| 872 | #endif /* MITOP & MITOP_MGR */
|
|---|
| 873 | #if MITOP & MITOP_ICANOS
|
|---|
| 874 | extern void format_icanos(char *, int, const Message *);
|
|---|
| 875 | #endif /* MITOP & MITOP_ICANOS */
|
|---|
| 876 | #if MITOP & MITOP_CAL
|
|---|
| 877 | extern void format_nmts(char *, int, const Message *);
|
|---|
| 878 | extern void format_dbts(char *, int, const Message *);
|
|---|
| 879 | extern void format_lmts(char *, int, const Message *);
|
|---|
| 880 | extern void format_nmtm(char *, int, const Message *);
|
|---|
| 881 | extern void format_dbtm(char *, int, const Message *);
|
|---|
| 882 | extern void format_cmsdef(char *, int, const Message *);
|
|---|
| 883 | extern void format_cmsdata(char *, int, const Message *);
|
|---|
| 884 |
|
|---|
| 885 | /* Formatted output */
|
|---|
| 886 | extern void printf_cob_db(FILE *, int, const BYTE_t *);
|
|---|
| 887 | extern void printf_nmtm(FILE *, int, const BYTE_t *);
|
|---|
| 888 | #endif /* MITOP & MITOP_CAL */
|
|---|
| 889 |
|
|---|
| 890 | #endif /* MITOP_FORMAT */
|
|---|
| 891 |
|
|---|
| 892 |
|
|---|
| 893 | void Cust1Init(Message *, int);
|
|---|
| 894 | void Cust1StartTimestampPeriod(Message *, WORD_t);
|
|---|
| 895 |
|
|---|
| 896 | void COPStartPeriodical(Message *, BYTE_t, WORD_t);
|
|---|
| 897 | void COPStartSingleShot(Message *, BYTE_t);
|
|---|
| 898 | void COPMapHiResTimestamp(Message *, WORD_t);
|
|---|
| 899 |
|
|---|
| 900 | /*
|
|---|
| 901 | * CANopen process picture interface
|
|---|
| 902 | */
|
|---|
| 903 | extern void COPDeleteAllPDOMappingEntries(Message *, WORD_t);
|
|---|
| 904 | extern void COPAddPDOMappingEntry(Message *, WORD_t, WORD_t, BYTE_t, BYTE_t, LWORD_t);
|
|---|
| 905 | extern void COPAddPDOLength(Message *, WORD_t, BYTE_t);
|
|---|
| 906 | extern void COPAddPDOTransmType(Message *, WORD_t, BYTE_t);
|
|---|
| 907 | extern void COPAddPDOInhibTime(Message *, WORD_t, WORD_t);
|
|---|
| 908 | extern void COPControlPDO(Message *, WORD_t, BYTE_t);
|
|---|
| 909 | extern void COPAdjustCobIdPDO(Message *, WORD_t, LWORD_t);
|
|---|
| 910 | extern void COPSetSyncToHostSending(Message *, BYTE_t);
|
|---|
| 911 | extern void COPTriggerTPDO(Message *, WORD_t);
|
|---|
| 912 | extern void COPTriggerRPDO(Message *, WORD_t);
|
|---|
| 913 |
|
|---|
| 914 | #ifdef __cplusplus
|
|---|
| 915 | }
|
|---|
| 916 | #endif
|
|---|
| 917 |
|
|---|
| 918 | #endif /* mitop_DEFINED */
|
|---|