HFCC-01 Low-Level Software (LLSW) Rel_6802_HFCC-01-RP-CSAR-CB
Loading...
Searching...
No Matches
modInfo.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_INFO_H
18#define INCLUDED_MOD_INFO_H
19
20#include "modStatus.h"
21#include "commonDataTypes.h"
22
23#define MOD_INFO_MAX_MIO (5U) // MAX IO module on each MFB Brd
24#define MOD_INFO_MAX_MOD_CHAR (5U) // Maximum Char for module/model/gen name
25#define MOD_INFO_MAX_MOD_TYPE (8U) // Maximum number of module types
26
27#define MOD_INFO_MAX_CARD (3U)
28#define MOD_INFO_MAX_MFB_CARD (2U)
29#define MOD_INFO_MFB1_VPX (0U)
30#define MOD_INFO_MFB2_VPX (1U)
31#define MOD_INFO_PSU_VPX (2U)
32
33// MFB1 IO Index
34#define MOD_INFO_MIODIN1 (0U)
35#define MOD_INFO_MIODOUT1 (1U)
36#define MOD_INFO_MIOPWM (2U)
37#define MOD_INFO_MIOANIN (3U)
38
39// MFB2 IO Index
40#define MOD_INFO_MIODIN2 (0U)
41#define MOD_INFO_MIODOUT2 (1U)
42#define MOD_INFO_MIOA429 (2U)
43#define MOD_INFO_MIORVDT (3U)
44
45// PSU Index
46#define MOD_INFO_MIOPSU (0U)
47
48#define MOD_INFO_STR_LEN_4 (4U) // char caount
49#define MOD_INFO_MODEL_STR_LEN (5U) // string length for VPX68
50#define MOD_INFO_GEN_STR_LEN (1U) // string length for A
51
52// Byte masks
53#define MOD_INFO_BYTE_MASK_0 (0x000000FFU)
54#define MOD_INFO_BYTE_MASK_1 (0x0000FF00U)
55#define MOD_INFO_BYTE_MASK_2 (0x00FF0000U)
56#define MOD_INFO_BYTE_MASK_3 (0xFF000000U)
57
58// Bit shifts
59#define MOD_INFO_SHIFT_BYTE_0 (0U)
60#define MOD_INFO_SHIFT_BYTE_1 (8U)
61#define MOD_INFO_SHIFT_BYTE_2 (16U)
62#define MOD_INFO_SHIFT_BYTE_3 (24U)
63
64// Driver/HW Info
65
76
89
90// Module Mask Enum for the module type
91
95typedef enum
96{
97 MOD_NA = 0x00U,
98 MOD_A429 = 0x02U,
99 MOD_ANIN = 0x04U,
100 MOD_DIN = 0x08U,
101 MOD_DOUT = 0x10U,
102 MOD_PWM = 0x20U,
103 MOD_RVDT = 0x40U,
104 MOD_PSU = 0x80U
106} ModType;
107
111typedef struct
112{
113 UInt8 major;
114 UInt8 minor;
115 UInt8 patch;
116 UInt8 release;
117} Version;
118
119// Card Type
120
121// Module Info
122
126typedef struct
127{
129 Char *name;
132
133// MIO card Info
134
148
149// MIO board Info
150
168
172typedef struct
173{
175} DLMInfo;
176
204
233ModStatus modInfo_getBrdInfo(CardType cardType, BoardInfo *brdInfoPtr);
234
235#endif // INCLUDED_MOD_INFO_H
ModStatus modInfo_getBrdInfo(CardType cardType, BoardInfo *brdInfoPtr)
modInfo_getBrdInfo.
Definition modInfo.c:44
ModStatus modInfo_getDLMInfo(DLMInfo *dlmInfo)
modInfo_getDLMInfo.
Definition modInfo.c:28
#define MOD_INFO_MAX_MOD_CHAR
Definition modInfo.h:24
CardType
This is enum definition for Card Type.
Definition modInfo.h:70
@ NA_CARD
Card type not applicable or uninitialized.
Definition modInfo.h:71
@ MFB1_CARD
Main Flight Board 1 (MFB1) processor card.
Definition modInfo.h:72
@ PSU_CARD
Power Supply Unit (PSU) hardware card.
Definition modInfo.h:74
@ MFB2_CARD
Main Flight Board 2 (MFB2) processor card.
Definition modInfo.h:73
ModeState
This is enum definition for Mode Status.
Definition modInfo.h:81
@ INIT
Device initialization mode state.
Definition modInfo.h:85
@ OPEN
Device opened and operational mode state.
Definition modInfo.h:83
@ RESET
Reset mode state.
Definition modInfo.h:86
@ CLOSE
Device closed and unmapped mode state.
Definition modInfo.h:84
@ DEFAULT
Default uninitialized operating mode state.
Definition modInfo.h:82
#define MOD_INFO_MAX_MIO
Definition modInfo.h:23
ModType
This is enum definition for Module mask enum for the module type.
Definition modInfo.h:96
@ MOD_PSU
Power Supply Unit module identification bitmask (0x80).
Definition modInfo.h:104
@ MOD_DIN
Discrete Input module identification bitmask (0x08).
Definition modInfo.h:100
@ MOD_A429
ARINC 429 module identification bitmask (0x02).
Definition modInfo.h:98
@ MOD_ANIN
Analog Input module identification bitmask (0x04).
Definition modInfo.h:99
@ MOD_RVDT
RVDT module identification bitmask (0x40).
Definition modInfo.h:103
@ MOD_PWM
Pulse Width Modulation module identification bitmask (0x20).
Definition modInfo.h:102
@ MOD_NA
No module mask selected (0x00).
Definition modInfo.h:97
@ MOD_DOUT
Discrete Output module identification bitmask (0x10).
Definition modInfo.h:101
ModStatus
This is enum definition for module status.
Definition modStatus.h:24
Multi-IO Hardware Board Manufacturing and Firmware Version Telemetry Structure.
Definition modInfo.h:155
ModeState state
The current state of the board.
Definition modInfo.h:157
Char generation[(5U)]
The board generation name.
Definition modInfo.h:161
Char modId[(5U)][(5U)]
Identifiers of mezzanine module cards installed on board.
Definition modInfo.h:165
Char model[(5U)]
The board model name.
Definition modInfo.h:160
Version cpldVersion
The CPLD revision number.
Definition modInfo.h:163
Char platform[(5U)]
Target computing platform architecture identifier.
Definition modInfo.h:159
UInt32 modCount
The number of I/O module in the card.
Definition modInfo.h:166
Char mainBrdRevision[(5U)]
The main board revision number.
Definition modInfo.h:162
UInt32 serialNum
The board serial number.
Definition modInfo.h:158
Version fpgaVersion
The FPGA revision number.
Definition modInfo.h:164
CardType type
Type of card.
Definition modInfo.h:156
Multi-IO Carrier Card Configuration, Subsystems, and Memory Mapping Structure.
Definition modInfo.h:139
ModInfoType mod[(5U)]
The I/O information in the card.
Definition modInfo.h:144
UInt32 memBaseAddr
The memory base address of the card.
Definition modInfo.h:145
UInt8 number
The card index number.
Definition modInfo.h:141
ModeState state
The current state of the card.
Definition modInfo.h:143
UInt32 modCount
The number of I/O module count in the card.
Definition modInfo.h:146
CardType type
Type of card.
Definition modInfo.h:142
UInt8 busIndex
The card bus index number.
Definition modInfo.h:140
Device Library Module (DLM) Core Software Release Version Telemetry Structure.
Definition modInfo.h:173
Version version
The version of DLM.
Definition modInfo.h:174
Device Library Module Functional Subsystem Identification and State Structure.
Definition modInfo.h:127
Char * name
I/O module name.
Definition modInfo.h:129
ModeState state
The current state of I/O module.
Definition modInfo.h:130
ModType type
Type of I/O module.
Definition modInfo.h:128
DLM Software and Firmware Version Identifier Structure (Major, Minor, Patch, Release).
Definition modInfo.h:112
UInt8 minor
Card minor version.
Definition modInfo.h:114
UInt8 patch
Card patch version.
Definition modInfo.h:115
UInt8 major
Card major version.
Definition modInfo.h:113
UInt8 release
Card release running number.
Definition modInfo.h:116