HFCC-01 Low-Level Software (LLSW) Rel_6802_HFCC-01-RP-CSAR-CB
Loading...
Searching...
No Matches
core.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
17
18#ifndef INCLUDED_CORE_H
19#define INCLUDED_CORE_H
20
21#include "commonDataTypes.h"
22#include "driverStatus.h"
23#include "interDrv.h"
24
25#define CORE_MFB1_INDEX (0U)
26#define CORE_MFB2_INDEX (1U)
27
28#define CORE_LED_COLOR_RED (1U)
29#define CORE_LED_COLOR_GREEN (2U)
30#define CORE_LED_COLOR_YELLOW (3U)
31#define CORE_LED_COLOR_OFF (4U)
32
33#define CORE_MAX_MIO_FUNC (5U)
34#define CORE_MAX_MIO_CHAR (4U)
35
39typedef enum
40{
45
49typedef enum
50{
51 PF_OK = 1U,
55
73
77typedef struct
78{
79 UInt32 pbitStatus;
80 UInt32 cbitStatus;
81 Float32 coreTemp;
82 Float32 dramTemp;
83 Float32 fpgaTemp;
84 Float32 efuseTemp;
85 Float32 dcdcTemp;
87
117DriverStatus core_register(const IODevice gpIODev4, const MemoryRegion nvsramMR);
118
145
176DriverStatus core_getMfbReadyStatus(const UInt8 mfbIndex, MfbReadyStatus *mfbStatusPtr);
177
206
236DriverStatus core_statusLEDSet(const UInt32 color);
237
266
297
326DriverStatus core_cardInfo(const UInt32 baseAddr, CardDetails *cardDetailsPtr);
327
356DriverStatus core_cardStatus(const UInt32 baseAddr, CardStatus *cardStatusPtr);
357
387DriverStatus core_nvsramRead32(void *const buff, const UInt32 offset);
388
418DriverStatus core_nvsramWrite32(void const *buff, const UInt32 offset);
419
448
476DriverStatus core_enableDisableHeartbeat(const UInt32 baseAddress, const Bool state);
477
508DriverStatus core_getHeartbeatResolution(const UInt32 baseAddress, UInt32 *resolution);
509
537DriverStatus core_setHeartbeatTimeoutCount(const UInt32 baseAddress, const UInt32 count);
538
567DriverStatus core_getHeartbeatElapsedCount(const UInt32 baseAddress, UInt32 *count);
568
596DriverStatus core_feedHeartbeat(const UInt32 baseAddress, const UInt32 feedingValue);
597
598#endif // INCLUDED_CORE_H
MfbReadyStatus
Main Flight Board (MFB) Operational Readiness Status Indicator.
Definition core.h:40
@ MFB_NOT_READY
Main Flight Board (MFB) not ready state.
Definition core.h:42
@ MFB_READY
Main Flight Board (MFB) operational ready state.
Definition core.h:41
DriverStatus core_nvsramRead32(void *const buff, const UInt32 offset)
core_nvsramRead32.
Definition core.c:556
DriverStatus core_cardInfo(const UInt32 baseAddr, CardDetails *cardDetailsPtr)
core_cardInfo.
Definition core.c:339
DriverStatus core_getHeartbeatElapsedCount(const UInt32 baseAddress, UInt32 *count)
core_getHeartbeatElapsedCount.
Definition core.c:704
DriverStatus core_nvsramWrite32(void const *buff, const UInt32 offset)
core_nvsramWrite32.
Definition core.c:575
DriverStatus core_getMfbReadyStatus(const UInt8 mfbIndex, MfbReadyStatus *mfbStatusPtr)
core_getMfbReadyStatus.
Definition core.c:131
DriverStatus core_enableDisableHeartbeat(const UInt32 baseAddress, const Bool state)
core_enableDisableHeartbeat.
Definition core.c:647
DriverStatus core_cardStatus(const UInt32 baseAddr, CardStatus *cardStatusPtr)
core_cardStatus.
Definition core.c:480
PowerFailState
Power Supply Power-Fail (PF) Voltage Monitor Status Indicator.
Definition core.h:50
@ PF_FAULT
Power supply monitor power-fail fault detected state.
Definition core.h:52
@ PF_OK
Power supply monitor operational normal state (Power OK).
Definition core.h:51
#define CORE_MAX_MIO_FUNC
Definition core.h:33
DriverStatus core_mfbIoInit(void)
core_mfbIoInit.
Definition core.c:107
DriverStatus core_statusPwrFailInit(void)
core_statusPwrFailInit.
Definition core.c:290
#define CORE_MAX_MIO_CHAR
Definition core.h:34
DriverStatus core_statusPwrFailGet(PowerFailState *pwrFailStatusPtr)
core_statusPwrFailGet.
Definition core.c:311
DriverStatus core_setHeartbeatTimeoutCount(const UInt32 baseAddress, const UInt32 count)
core_setHeartbeatTimeoutCount.
Definition core.c:691
DriverStatus core_getMemoryRegion(RegionInfo *region)
core_getMemoryRegion.
Definition core.c:594
DriverStatus core_getHeartbeatResolution(const UInt32 baseAddress, UInt32 *resolution)
core_getHeartbeatResolution.
Definition core.c:668
DriverStatus core_feedHeartbeat(const UInt32 baseAddress, const UInt32 feedingValue)
core_feedHeartbeat.
Definition core.c:722
DriverStatus core_statusLEDSet(const UInt32 color)
core_statusLEDSet.
Definition core.c:220
DriverStatus core_statusLEDInit(void)
core_statusLEDInit.
Definition core.c:179
DriverStatus core_register(const void *gpIODev4, const void *nvsramMR)
core_register.
Definition core.c:55
DriverStatus
Low-Level Device Driver Execution Status and Return Error Codes.
Definition driverStatus.h:24
MFB Core Hardware Card Identification and Slot Details Structure.
Definition core.h:60
UInt32 mioStartAddr[(5U)]
MFB module start address.
Definition core.h:69
Char mainBrdRev[(4U)]
Revision number.
Definition core.h:65
UInt32 mioAddrSize[(5U)]
MFB module address size.
Definition core.h:70
UInt32 cpldFirmVer
CPLD Firmware version.
Definition core.h:67
UInt32 mioSlotCount
MFB slot counter.
Definition core.h:68
Char platform[(4U)]
MFB host computing architecture platform family string.
Definition core.h:62
Char mioID[(5U)][(4U)]
Array of hardware identification and descriptor strings for each MIO slot.
Definition core.h:71
UInt32 serialNum
Card serial number.
Definition core.h:61
Char model[(4U)]
Model name.
Definition core.h:63
Char generation[(4U)]
Generatoi n name.
Definition core.h:64
UInt32 fpgaFirmVer
FPGA Firmware version.
Definition core.h:66
MFB Core Hardware Card Health Status and Thermal Telemetry Structure.
Definition core.h:78
UInt32 pbitStatus
PBIT Status.
Definition core.h:79
Float32 coreTemp
Core temperature value.
Definition core.h:81
UInt32 cbitStatus
CBIT Status.
Definition core.h:80
Float32 efuseTemp
EFUSE temperature value.
Definition core.h:84
Float32 fpgaTemp
FPGA temperature value.
Definition core.h:83
Float32 dramTemp
DRAM temperature value.
Definition core.h:82
Float32 dcdcTemp
DC-DC temperature value.
Definition core.h:85
Memory Region Address and Status Mapping Configuration Structure.
Definition interDrv.h:27