HFCC-01 Low-Level Software (LLSW) Rel_6802_HFCC-01-RP-CSAR-CB
Loading...
Searching...
No Matches
modConfig.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025, TUSAS Malaysia
3 * All rights reserved.
4 * This file contains proprietary information. This
5 * file shall not be duplicated, used, modified,
6 * or disclosed in whole or in part without
7 * the express written consent of TUSAS.
8 */
9
16
17#ifndef INCLUDED_MOD_CONFIG_H
18#define INCLUDED_MOD_CONFIG_H
19
20#include <INTEGRITY.h>
21
22#include "modStatus.h"
23#include "modInfo.h"
24
25#define MOD_CONFIG_CH_NUM_MASK (0x000FU)
26#define MOD_CONFIG_BNK_NUM_MASK (0x00F0U)
27#define MOD_CONFIG_DEV_NUM_MASK (0x0F00U)
28#define MOD_CONFIG_CARD_NUM_MASK (0xF000U)
29#define MOD_CONFIG_BNK_TYPE_MASK (0x00C0U)
30
31#define MOD_CONFIG_BNK_NUM_MASK_BIT_SHIFT (4U)
32#define MOD_CONFIG_DEV_NUM_MASK_BIT_SHIFT (8U)
33#define MOD_CONFIG_CARD_NUM_MASK_BIT_SHIFT (12U)
34
35#define MOD_CONFIG_GET_CH_NUM(x) (((x) & MOD_CONFIG_CH_NUM_MASK))
36#define MOD_CONFIG_GET_BNK_NUM(x) \
37 ((((x) & MOD_CONFIG_BNK_NUM_MASK) >> MOD_CONFIG_BNK_NUM_MASK_BIT_SHIFT))
38#define MOD_CONFIG_GET_BNK_TYPE(x) (((x) & MOD_CONFIG_BNK_TYPE_MASK))
39#define MOD_CONFIG_GET_DEV_NUM(x) \
40 ((((x) & MOD_CONFIG_DEV_NUM_MASK) >> MOD_CONFIG_DEV_NUM_MASK_BIT_SHIFT))
41#define MOD_CONFIG_GET_CARD_NUM(x) \
42 ((((x) & MOD_CONFIG_CARD_NUM_MASK) >> MOD_CONFIG_CARD_NUM_MASK_BIT_SHIFT))
43
44// =========================================================================
45
46// ARINC429 Module
47#define MOD_CONFIG_MAX_A429_TX_CH (4U)
48#define MOD_CONFIG_MAX_A429_RX_CH (7U)
49#define MOD_CONFIG_A429_MAX_TX_FIFO (32U)
50
51// Analog Input Module
52#define MOD_CONFIG_AIN_TOTAL_DEV (8U)
53#define MOD_CONFIG_AIN_MAX_DEV_PER_CARD (8U) // per cards
54#define MOD_CONFIG_AIN_MAX_BANK (2U)
55#define MOD_CONFIG_AIN_ADC_FACTOR (5.0F)
56#define MOD_CONFIG_AIN_5V_BANK (0x00U)
57#define MOD_CONFIG_AIN_10V_BANK (0x01U)
58#define MOD_CONFIG_AIN_0V_RANGE (0U)
59#define MOD_CONFIG_AIN_5V_RANGE (5U)
60#define MOD_CONFIG_AIN_10V_RANGE (10U)
61
62// Discrete Input Module
63#define MOD_CONFIG_DIN_MAX_CARD (2U)
64#define MOD_CONFIG_DIN_MAX_DEV_PER_CARD (2U) // per cards
65#define MOD_CONFIG_DIN_MFB1_DEV (1U)
66#define MOD_CONFIG_DIN_MFB2_DEV (2U)
67#define MOD_CONFIG_DIN_TOTAL_DEV (MOD_CONFIG_DIN_MFB1_DEV + MOD_CONFIG_DIN_MFB2_DEV)
68#define MOD_CONFIG_DIN_MAX_BANK_PER_DEV (4U)
69#define MOD_CONFIG_DIN_MAX_CH_PER_BANK (8U)
70#define MOD_CONFIG_DIN_MAX_CH (38)
71#define MOD_CONFIG_DIN_TYPE_OG (0x40U)
72#define MOD_CONFIG_DIN_TYPE_SO (0x80U)
73#define MOD_CONFIG_DIN_TYPE_SG (0xC0U)
74
75// Discrete Out Module
76#define MOD_CONFIG_DOUT_MAX_CARD (2U)
77#define MOD_CONFIG_DOUT_MAX_DEV_PER_CARD (8U) // per cards
78#define MOD_CONFIG_DOUT_MFB1_DEV (8U)
79#define MOD_CONFIG_DOUT_MFB2_DEV (3U)
80#define MOD_CONFIG_DOUT_TOTAL_DEV (MOD_CONFIG_DOUT_MFB1_DEV + MOD_CONFIG_DOUT_MFB2_DEV)
81#define MOD_CONFIG_DOUT_MAX_CH_PER_DEV (6U)
82#define MOD_CONFIG_DOUT_TYPE_OG (0x40U)
83#define MOD_CONFIG_DOUT_TYPE_SO (0x80U)
84#define MOD_CONFIG_DOUT_TYPE_SG (0xC0U)
85#define MOD_CONFIG_DOUT_TOTAL_CH (50U)
86
87// RVDT Module
88#define MOD_CONFIG_RVDT_MAX_DEV_PER_CARD (4U) // per cards
89
90// PWM Module
91#define MOD_CONFIG_PWM_MAX_DEV_PER_CARD (4U) // per cards
92#define MOD_CONFIG_PWM_MAX_CH_PER_DEV (6U)
93
98typedef enum
99{
100 A429_TX_CH1 = 0x1000,
101 A429_TX_CH2 = 0x1001,
102 A429_TX_CH3 = 0x1002,
103 A429_TX_CH4 = 0x1003,
104 A429_RX_CH1 = 0x1010,
105 A429_RX_CH2 = 0x1011,
106 A429_RX_CH3 = 0x1012,
107 A429_RX_CH4 = 0x1013,
108 A429_RX_CH5 = 0x1014,
109 A429_RX_CH6 = 0x1015,
110 A429_RX_CH7 = 0x1016
112
118typedef enum
119{
120 AIN_5V_CH1 = 0x0000,
121 AIN_5V_CH2 = 0x0100,
122 AIN_5V_CH3 = 0x0200,
123 AIN_5V_CH4 = 0x0300,
124 AIN_10V_CH1 = 0x0410,
125 AIN_10V_CH2 = 0x0510,
126 AIN_10V_CH3 = 0x0610,
127 AIN_10V_CH4 = 0x0710
129
134typedef enum
135{
136 DIN_DEV1_BANK = 0x0000,
137 DIN_DEV2_BANK = 0x1000,
138 DIN_DEV3_BANK = 0x1100,
140
141// DIN Channel Number //card-device-bank-channel
142
147typedef enum
148{
155
166
175
184
192
197typedef enum
198{
199 DOUT_DEV1_BANK = 0x0000,
200 DOUT_DEV2_BANK = 0x0100,
201 DOUT_DEV3_BANK = 0x0200,
202 DOUT_DEV4_BANK = 0x0300,
203 DOUT_DEV5_BANK = 0x0400,
204 DOUT_DEV6_BANK = 0x0500,
205 DOUT_DEV7_BANK = 0x0600,
206 DOUT_DEV8_BANK = 0x0700,
207 DOUT_DEV9_BANK = 0x1000,
211
217typedef enum
218{
223
225 0x0004 | MOD_CONFIG_DOUT_TYPE_SO,
227 0x0104 | MOD_CONFIG_DOUT_TYPE_SO,
229 0x0204 | MOD_CONFIG_DOUT_TYPE_SO,
231 0x0304 | MOD_CONFIG_DOUT_TYPE_SO,
232
237
242
247
252
257
274
282
287typedef enum
288{
289 RVDT_CH1 = 0x1000,
290 RVDT_CH2 = 0x1100,
291 RVDT_CH3 = 0x1200,
292 RVDT_CH4 = 0x1300
294
299typedef enum
300{
301 PWM_CH1 = 0x0002,
302 PWM_CH2 = 0x0102,
303 PWM_CH3 = 0x0202,
304 PWM_CH4 = 0x0302
306
311typedef enum
312{
317} LEDColor;
318
348ModStatus modConfig_coreRegister(const IODevice ioDev, const MemoryRegion nvsramMRDev);
349
379
413ModStatus modConfig_open(const MemoryRegion cardMfb1MR, const MemoryRegion cardMfb2MR,
414 const MemoryRegion memStatusMR);
415
445
475ModStatus modConfig_init(const UInt32 module);
476
505ModStatus modConfig_reset(const UInt32 modules);
506
532
533#endif // INCLUDED_MOD_CONFIG_H
ModStatus modConfig_close(void)
modConfig_close
Definition modConfig.c:803
DOutChannelBank
This is enum definition for channel bank group of discrete output channel.
Definition modConfig.h:198
@ DOUT_DEV1_BANK
DOUT MFB1 Devices 1.
Definition modConfig.h:199
@ DOUT_DEV3_BANK
DOUT MFB1 Devices 3.
Definition modConfig.h:201
@ DOUT_DEV7_BANK
DOUT MFB1 Devices 7.
Definition modConfig.h:205
@ DOUT_DEV4_BANK
DOUT MFB1 Devices 4.
Definition modConfig.h:202
@ DOUT_DEV2_BANK
DOUT MFB1 Devices 2.
Definition modConfig.h:200
@ DOUT_DEV5_BANK
DOUT MFB1 Devices 5.
Definition modConfig.h:203
@ DOUT_DEV9_BANK
DOUT MFB2 Devices 1.
Definition modConfig.h:207
@ DOUT_DEV10_BANK
DOUT MFB2 Devices 2.
Definition modConfig.h:208
@ DOUT_DEV11_BANK
DOUT MFB2 Devices 3.
Definition modConfig.h:209
@ DOUT_DEV6_BANK
DOUT MFB1 Devices 6.
Definition modConfig.h:204
@ DOUT_DEV8_BANK
DOUT MFB1 Devices 8.
Definition modConfig.h:206
ModStatus modConfig_init(const UInt32 module)
modConfig_init
Definition modConfig.c:296
#define MOD_CONFIG_DOUT_TYPE_SO
Definition modConfig.h:83
#define MOD_CONFIG_DIN_TYPE_SG
Definition modConfig.h:73
ModStatus modConfig_open(const void *cardMfb1MR, const void *cardMfb2MR, const void *memStatusMR)
modConfig_open
Definition modConfig.c:107
DInChannelBank
This is enum definition for channel bank group of discrete input channel.
Definition modConfig.h:135
@ DIN_DEV1_BANK
DIN MFB1 Devices 1.
Definition modConfig.h:136
@ DIN_DEV3_BANK
DIN MFB2 Devices 2.
Definition modConfig.h:138
@ DIN_DEV2_BANK
DIN MFB2 Devices 1.
Definition modConfig.h:137
ModStatus modConfig_getCardState(const CardType type, ModeState *state)
modConfig_getCardState
Definition modConfig.c:268
AInChannelNum
This is enum definition for channel number for each of Analog Input channel.
Definition modConfig.h:119
@ AIN_5V_CH1
Analog Input 0-5V CH1.
Definition modConfig.h:120
@ AIN_5V_CH3
Analog Input 0-5V CH3.
Definition modConfig.h:122
@ AIN_10V_CH1
Analog Input 0-10V CH1.
Definition modConfig.h:124
@ AIN_5V_CH2
Analog Input 0-5V CH2.
Definition modConfig.h:121
@ AIN_10V_CH4
Analog Input 0-10V CH4.
Definition modConfig.h:127
@ AIN_10V_CH2
Analog Input 0-10V CH2.
Definition modConfig.h:125
@ AIN_10V_CH3
Analog Input 0-10V CH3.
Definition modConfig.h:126
@ AIN_5V_CH4
Analog Input 0-5V CH4.
Definition modConfig.h:123
ModStatus modConfig_coreRegister(const void *ioDev, const void *nvsramMRDev)
modConfig_coreRegister
Definition modConfig.c:59
ModStatus modConfig_reset(const UInt32 modules)
modConfig_reset
Definition modConfig.c:574
RVDTChannelNum
This is enum definition for channel number for each RVDT channel.
Definition modConfig.h:288
@ RVDT_CH1
RVDT channel number CH1.
Definition modConfig.h:289
@ RVDT_CH2
RVDT channel number CH2.
Definition modConfig.h:290
@ RVDT_CH3
RVDT channel number CH3.
Definition modConfig.h:291
@ RVDT_CH4
RVDT channel number CH4.
Definition modConfig.h:292
PWMChannelNum
This is enum definition for each channel number of PWM output channel.
Definition modConfig.h:300
@ PWM_CH1
PWM out channel number CH1.
Definition modConfig.h:301
@ PWM_CH4
PWM out channel number CH4.
Definition modConfig.h:304
@ PWM_CH3
PWM out channel number CH3.
Definition modConfig.h:303
@ PWM_CH2
PWM out channel number CH2.
Definition modConfig.h:302
#define MOD_CONFIG_DIN_TYPE_OG
Definition modConfig.h:71
DInChannelNum
This is enum definition for channel number for each discrete input channel.
Definition modConfig.h:148
@ DIN_SO_CH1
Discrete Input Supply Open CH1.
Definition modConfig.h:149
@ DIN_OG_CH17
Discrete Input Ground Open CH17.
Definition modConfig.h:167
@ DIN_SO_CH2
Discrete Input Supply Open CH2.
Definition modConfig.h:150
@ DIN_OG_CH31
Discrete Input Ground Open CH31.
Definition modConfig.h:182
@ DIN_OG_CH29
Discrete Input Ground Open CH29.
Definition modConfig.h:180
@ DIN_SO_CH11
Discrete Input Supply Open CH11.
Definition modConfig.h:160
@ DIN_OG_CH30
Discrete Input Ground Open CH30.
Definition modConfig.h:181
@ DIN_SG_CH38
Discrete Input Supply Open CH38.
Definition modConfig.h:190
@ DIN_OG_CH25
Discrete Input Ground Open CH25.
Definition modConfig.h:176
@ DIN_SO_CH3
Discrete Input Supply Open CH3.
Definition modConfig.h:151
@ DIN_OG_CH28
Discrete Input Ground Open CH28.
Definition modConfig.h:179
@ DIN_OG_CH24
Discrete Input Ground Open CH24.
Definition modConfig.h:174
@ DIN_SO_CH7
Discrete Input Supply Open CH7.
Definition modConfig.h:156
@ DIN_OG_CH21
Discrete Input Ground Open CH21.
Definition modConfig.h:171
@ DIN_SO_CH15
Discrete Input Supply Open CH15.
Definition modConfig.h:164
@ DIN_SG_CH33
Discrete Input Supply Open CH33.
Definition modConfig.h:185
@ DIN_OG_CH23
Discrete Input Ground Open CH23.
Definition modConfig.h:173
@ DIN_SG_CH37
Discrete Input Supply Open CH37.
Definition modConfig.h:189
@ DIN_SO_CH16
Discrete Input Supply Open CH16.
Definition modConfig.h:165
@ DIN_OG_CH26
Discrete Input Ground Open CH26.
Definition modConfig.h:177
@ DIN_SG_CH34
Discrete Input Supply Open CH34.
Definition modConfig.h:186
@ DIN_OG_CH22
Discrete Input Ground Open CH22.
Definition modConfig.h:172
@ DIN_SO_CH8
Discrete Input Supply Open CH8.
Definition modConfig.h:157
@ DIN_SG_CH36
Discrete Input Supply Open CH36.
Definition modConfig.h:188
@ DIN_SO_CH12
Discrete Input Supply Open CH12.
Definition modConfig.h:161
@ DIN_OG_CH32
Discrete Input Ground Open CH32.
Definition modConfig.h:183
@ DIN_OG_CH27
Discrete Input Ground Open CH27.
Definition modConfig.h:178
@ DIN_SO_CH4
Discrete Input Supply Open CH4.
Definition modConfig.h:152
@ DIN_SG_CH35
Discrete Input Supply Open CH35.
Definition modConfig.h:187
@ DIN_SO_CH13
Discrete Input Supply Open CH13.
Definition modConfig.h:162
@ DIN_SO_CH6
Discrete Input Supply Open CH6.
Definition modConfig.h:154
@ DIN_SO_CH5
Discrete Input Supply Open CH5.
Definition modConfig.h:153
@ DIN_OG_CH19
Discrete Input Ground Open CH19.
Definition modConfig.h:169
@ DIN_SO_CH10
Discrete Input Supply Open CH10.
Definition modConfig.h:159
@ DIN_OG_CH20
Discrete Input Ground Open CH20.
Definition modConfig.h:170
@ DIN_SO_CH9
Discrete Input Supply Open CH9.
Definition modConfig.h:158
@ DIN_SO_CH14
Discrete Input Supply Open CH14.
Definition modConfig.h:163
@ DIN_OG_CH18
Discrete Input Ground Open CH18.
Definition modConfig.h:168
#define MOD_CONFIG_DOUT_TYPE_OG
Definition modConfig.h:82
LEDColor
This is enum definition for each channel LED color.
Definition modConfig.h:312
@ LED_GREEN
LED Green is 2.
Definition modConfig.h:314
@ LED_YELLOW
LED Yellow is 3.
Definition modConfig.h:315
@ LED_RED
LED Red is 1.
Definition modConfig.h:313
@ LED_OFF
LED is OFF.
Definition modConfig.h:316
A429ChannelNum
This is enum definition for channel number for each ARINC429 channel.
Definition modConfig.h:99
@ A429_RX_CH2
ARINC429 Receiver CH2.
Definition modConfig.h:105
@ A429_RX_CH5
ARINC429 Receiver CH5.
Definition modConfig.h:108
@ A429_TX_CH3
ARINC429 Transmit CH3.
Definition modConfig.h:102
@ A429_RX_CH4
ARINC429 Receiver CH4.
Definition modConfig.h:107
@ A429_RX_CH1
ARINC429 Receiver CH1.
Definition modConfig.h:104
@ A429_RX_CH6
ARINC429 Receiver CH6.
Definition modConfig.h:109
@ A429_RX_CH7
ARINC429 Receiver CH7.
Definition modConfig.h:110
@ A429_TX_CH4
ARINC429 Transmit CH4.
Definition modConfig.h:103
@ A429_TX_CH1
ARINC429 Transmit CH1.
Definition modConfig.h:100
@ A429_RX_CH3
ARINC429 Receiver CH3.
Definition modConfig.h:106
@ A429_TX_CH2
ARINC429 Transmit CH2.
Definition modConfig.h:101
DOutChannelNum
This is enum definition for channel number for each discrete output channel.
Definition modConfig.h:218
@ DOUT_OG_CH6
Discrete Output Open Ground CH6.
Definition modConfig.h:263
@ DOUT_OG_CH10
Discrete Output Open Ground CH10.
Definition modConfig.h:267
@ DOUT_OG_CH4
Discrete Output Open Ground CH4.
Definition modConfig.h:261
@ DOUT_SG_CLCH1
Discrete Output Supply Ground Clutch CH1.
Definition modConfig.h:238
@ DOUT_SO_CH19
Discrete Output Supply Open CH19.
Definition modConfig.h:277
@ DOUT_OG_CH11
Discrete Output Open Ground CH11.
Definition modConfig.h:268
@ DOUT_SO_CH21
Discrete Output Supply Open CH21.
Definition modConfig.h:279
@ DOUT_SO_CH18
Discrete Output Supply Open CH18.
Definition modConfig.h:276
@ DOUT_SG_EXT3
Discrete Output Supply Ground Extract CH3.
Definition modConfig.h:250
@ DOUT_SO_EN2
Discrete Output Supply Open Enable CH2.
Definition modConfig.h:234
@ DOUT_SG_EXT2
Discrete Output Supply Ground Extract CH2.
Definition modConfig.h:249
@ DOUT_OG_CH8
Discrete Output Open Ground CH8.
Definition modConfig.h:265
@ DOUT_SO_EXC3
Discrete Output Supply Open Excitation CH3.
Definition modConfig.h:245
@ DOUT_OG_CH13
Discrete Output Open Ground CH13.
Definition modConfig.h:270
@ DOUT_SO_CCW2
Discrete Output Supply Open Counter-Clockwise CH2.
Definition modConfig.h:226
@ DOUT_SG_RET4
Discrete Output Supply Ground Retract CH4.
Definition modConfig.h:256
@ DOUT_SG_CLCH4
Discrete Output Supply Ground Clutch CH4.
Definition modConfig.h:241
@ DOUT_OG_CH14
Discrete Output Open Ground CH14.
Definition modConfig.h:271
@ DOUT_OG_CH7
Discrete Output Open Ground CH7.
Definition modConfig.h:264
@ DOUT_SO_CCW4
Discrete Output Supply Open Counter-Clockwise CH4.
Definition modConfig.h:230
@ DOUT_OG_CH5
Discrete Output Open Ground CH5.
Definition modConfig.h:262
@ DOUT_SO_EN1
Discrete Output Supply Open Enable CH1.
Definition modConfig.h:233
@ DOUT_SG_RET3
Discrete Output Supply Ground Retract CH3.
Definition modConfig.h:255
@ DOUT_SO_EXC2
Discrete Output Supply Open Excitation CH2.
Definition modConfig.h:244
@ DOUT_SO_EXC1
Discrete Output Supply Open Excitation CH1.
Definition modConfig.h:243
@ DOUT_SO_CH22
Discrete Output Supply Open CH22.
Definition modConfig.h:280
@ DOUT_SO_CW3
Discrete Output Supply Open Clockwise CH3.
Definition modConfig.h:221
@ DOUT_OG_CH16
Discrete Output Open Ground CH16.
Definition modConfig.h:273
@ DOUT_SO_EXC4
Discrete Output Supply Open Excitation CH4.
Definition modConfig.h:246
@ DOUT_SG_RET2
Discrete Output Supply Ground Retract CH2.
Definition modConfig.h:254
@ DOUT_SG_CLCH3
Discrete Output Supply Ground Clutch CH3.
Definition modConfig.h:240
@ DOUT_OG_CH9
Discrete Output Open Ground CH9.
Definition modConfig.h:266
@ DOUT_SO_EN4
Discrete Output Supply Open Enable CH4.
Definition modConfig.h:236
@ DOUT_OG_CH15
Discrete Output Open Ground CH15.
Definition modConfig.h:272
@ DOUT_SO_CCW3
Discrete Output Supply Open Counter-Clockwise CH3.
Definition modConfig.h:228
@ DOUT_OG_CH2
Discrete Output Open Ground CH2.
Definition modConfig.h:259
@ DOUT_SO_CW1
Discrete Output Supply Open Clockwise CH1.
Definition modConfig.h:219
@ DOUT_SO_CH20
Discrete Output Supply Open CH20.
Definition modConfig.h:278
@ DOUT_SO_CCW1
Discrete Output Supply Open Counter-Clockwise CH1.
Definition modConfig.h:224
@ DOUT_SO_CH17
Discrete Output Supply Open CH17.
Definition modConfig.h:275
@ DOUT_SO_CW2
Discrete Output Supply Open Clockwise CH2.
Definition modConfig.h:220
@ DOUT_SG_RET1
Discrete Output Supply Ground Retract CH1.
Definition modConfig.h:253
@ DOUT_SO_EN3
Discrete Output Supply Open Enable CH3.
Definition modConfig.h:235
@ DOUT_OG_CH3
Discrete Output Open Ground CH3.
Definition modConfig.h:260
@ DOUT_SG_EXT1
Discrete Output Supply Ground Extract CH1.
Definition modConfig.h:248
@ DOUT_SO_CW4
Discrete Output Supply Open Clockwise CH4.
Definition modConfig.h:222
@ DOUT_SG_EXT4
Discrete Output Supply Ground Extract CH4.
Definition modConfig.h:251
@ DOUT_OG_CH12
Discrete Output Open Ground CH12.
Definition modConfig.h:269
@ DOUT_SG_CLCH2
Discrete Output Supply Ground Clutch CH2.
Definition modConfig.h:239
@ DOUT_OG_CH1
Discrete Output Open Ground CH1.
Definition modConfig.h:258
#define MOD_CONFIG_DOUT_TYPE_SG
Definition modConfig.h:84
#define MOD_CONFIG_DIN_TYPE_SO
Definition modConfig.h:72
ModStatus modConfig_coreChasisLEDSet(const LEDColor color)
modConfig_coreChasisLEDSet
Definition modConfig.c:94
CardType
This is enum definition for Card Type.
Definition modInfo.h:70
ModeState
This is enum definition for Mode Status.
Definition modInfo.h:81
ModStatus
This is enum definition for module status.
Definition modStatus.h:24