929新版sil,没编译过
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
/* Copyright 2002-2017 The MathWorks, Inc. */
|
||||
/**
|
||||
*
|
||||
* Types and define related to zero crossing signals and events
|
||||
*
|
||||
*/
|
||||
|
||||
/* Leading _ in header guards violates MISRA standard rule 21.1 */
|
||||
#ifndef solver_zc_hpp_
|
||||
#define solver_zc_hpp_
|
||||
|
||||
/* slZcSignalType ==============================================================
|
||||
*
|
||||
*/
|
||||
typedef enum {
|
||||
|
||||
SL_ZCS_TYPE_CONT = 0,
|
||||
SL_ZCS_TYPE_DISC = 1,
|
||||
SL_ZCS_TYPE_HYBRID = 2
|
||||
|
||||
} slZcSignalType;
|
||||
|
||||
|
||||
/* slZcEventType ===============================================================
|
||||
*
|
||||
* zcEvents are bit packed as follows:
|
||||
*
|
||||
* .-----.-----.-----.-----.-----.-----.-----.-----.
|
||||
* | | | z2n | p2z | p2n | z2p | n2z | n2p |
|
||||
* '-----'-----'-----'-----'-----'-----'-----'-----'
|
||||
* ^ |<----------- eventTypes ---------->|
|
||||
* |
|
||||
* `--- needsSolverReset
|
||||
*
|
||||
*/
|
||||
typedef uint8_T slZcEventType;
|
||||
#define SL_ZCS_EVENT_NUL 0x00U
|
||||
#define SL_ZCS_EVENT_N2P 0x01U
|
||||
#define SL_ZCS_EVENT_N2Z 0x02U
|
||||
#define SL_ZCS_EVENT_Z2P 0x04U
|
||||
#define SL_ZCS_EVENT_P2N 0x08U
|
||||
#define SL_ZCS_EVENT_P2Z 0x10U
|
||||
#define SL_ZCS_EVENT_Z2N 0x20U
|
||||
|
||||
#define SL_ZCS_EVENT_ALL_UP ( SL_ZCS_EVENT_N2P | \
|
||||
SL_ZCS_EVENT_N2Z | \
|
||||
SL_ZCS_EVENT_Z2P )
|
||||
|
||||
#define SL_ZCS_EVENT_ALL_DN ( SL_ZCS_EVENT_P2N | \
|
||||
SL_ZCS_EVENT_P2Z | \
|
||||
SL_ZCS_EVENT_Z2N )
|
||||
|
||||
#define SL_ZCS_EVENT_ALL ( SL_ZCS_EVENT_ALL_UP | SL_ZCS_EVENT_ALL_DN )
|
||||
|
||||
#define slZcSignalGetNeedsSolverReset(a) \
|
||||
(((a) & 0x40) != 0x00)
|
||||
|
||||
#define slZcSignalSetNeedsSolverReset(a, v) \
|
||||
(a) = (v) ? ((a) | 0x40) : ((a) & 0xBF)
|
||||
|
||||
|
||||
/* slZcSignalAttribType ========================================================
|
||||
*
|
||||
* ZcSignal attributes are bit packed as follows:
|
||||
*
|
||||
* .-----.-----.-----.-----.-----.-----.-----.-----.
|
||||
* | | | z2n | p2z | p2n | z2p | n2z | n2p |
|
||||
* '-----'-----'-----'-----'-----'-----'-----'-----'
|
||||
* ^ ^ |<---- which events to look for --->|
|
||||
* | |
|
||||
* | `--- isDiscrete
|
||||
* |
|
||||
* `--------- needsEventNotification
|
||||
*/
|
||||
typedef uint8_T slZcSignalAttribType;
|
||||
|
||||
#define slZcSignalGetEventDirections(a) \
|
||||
((a) & 0x3F)
|
||||
|
||||
#define slZcSignalSetEventDirections(a, d) \
|
||||
(a) = (((a) & 0xC0) | (d))
|
||||
|
||||
#define slZcSignalGetIsDiscrete(a) \
|
||||
(((a) & 0x40) != 0x00)
|
||||
|
||||
#define slZcSignalSetIsDiscrete(a, v) \
|
||||
(a) = (v) ? ((a) | 0x40) : ((a) & 0xBF)
|
||||
|
||||
#define slZcSignalGetNeedsEventNotification(a) \
|
||||
(((a) & 0x80) != 0x00)
|
||||
|
||||
#define slZcSignalSetNeedsEventNotification(a, v) \
|
||||
(a) = (v) ? ((a) | 0x80) : ((a) & 0x7F)
|
||||
|
||||
|
||||
/* slZcSignalSignType ==========================================================
|
||||
*
|
||||
*/
|
||||
typedef uint8_T slZcSignalSignType;
|
||||
#define SL_ZCS_SIGN_ZERO 0x00U
|
||||
#define SL_ZCS_SIGN_POS 0x01U
|
||||
#define SL_ZCS_SIGN_NEG 0x02U
|
||||
#define SL_ZCS_SIGN_UNKNOWN 0x03U
|
||||
|
||||
#endif /* _solver_zc_hpp_ */
|
||||
|
||||
/* eof */
|
||||
|
||||
Reference in New Issue
Block a user