HFCC-01 Low-Level Software (LLSW)
Rel_6802_HFCC-01-RP-CSAR-CB
Toggle main menu visibility
Loading...
Searching...
No Matches
utilHelper.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_UTIL_HELPER_H
18
#define INCLUDED_UTIL_HELPER_H
19
20
#include <INTEGRITY.h>
21
22
#ifndef M_PI
23
#define M_PI (3.14159265358979323846)
24
#endif
25
26
#ifndef UINT8_MAX
27
#define UINT8_MAX (255U)
28
#endif
29
30
#ifndef UINT16_MAX
31
#define UINT16_MAX (65535U)
32
#endif
33
34
#ifndef UINT32_MAX
35
#define UINT32_MAX (4294967295U)
36
#endif
37
38
#ifndef FLOAT_TOLERANCE
39
#define FLOAT_TOLERANCE 1E-6
40
#endif
41
42
#define NSEC_(x) (x)
// Specify period in nanoseconds. (Output in nanoseconds)
43
#define USEC_(x) (NSEC_(x) * 1000UL)
// Specify period in microseconds. (Output in nanoseconds)
44
#define MSEC_(x) (USEC_(x) * 1000UL)
// Specify period in milliseconds. (Output in nanoseconds)
45
#define SEC_(x) (MSEC_(x) * 1000UL)
// Specify period in seconds. (Output in nanoseconds)
46
#define HZ_(x) (SEC_(1UL) / (x))
// Specify frequency in hertz. (Output in nanoseconds)
47
#define KHZ_(x) (HZ_((x) * 1000UL))
// Specify frequency in kilohertz. (Output in nanoseconds)
48
49
#ifndef RANGE_CHECK
57
#define RANGE_CHECK(val, lo, hi) ((lo) <= (val) && (val) <= (hi))
58
#endif
59
60
#ifndef RANGE_CHECK_FLOAT
69
#define RANGE_CHECK_FLOAT(val, lo, hi) (((val) - (lo) > -FLOAT_TOLERANCE) && ((hi) - (val) > -FLOAT_TOLERANCE))
70
#endif
71
72
#ifndef ENDIAN_16
76
#define ENDIAN_16(data) ((((data) >> 8) & 0x00FF) | (((data) << 8) & 0xFF00))
77
#endif
78
79
#ifndef ENDIAN_32
83
#define ENDIAN_32(data) ((((data) >> 24) & 0x000000FF) | (((data) >> 8) & 0x0000FF00) | (((data) << 8) & 0x00FF0000) | (((data) << 24) & 0xFF000000))
84
#endif
85
86
#ifndef BIT_POS
91
#define BIT_POS(n) (1UL << (n))
92
#endif
93
94
#ifndef READ_BIT
104
#define READ_BIT(var, bit) (((var) & BIT_POS(bit)) >> bit)
105
#endif
106
107
#ifndef READ_MASK_VALUE
117
#define READ_MASK_VALUE(var, mask) ((var) & (mask))
118
#endif
119
120
#ifndef WRITE_SET_BIT
130
#define WRITE_SET_BIT(var, bit) ((var) = ((var) | BIT_POS(bit)))
131
#endif
132
133
#ifndef WRITE_CLEAR_BIT
143
#define WRITE_CLEAR_BIT(var, bit) ((var) = ((var) & ~BIT_POS(bit)))
144
#endif
145
146
#ifndef WRITE_MASK_VALUE
156
#define WRITE_MASK_VALUE(var, mask) ((var) = ((var) | (mask)))
157
#endif
158
159
#ifndef TOGGLE_BIT
169
#define TOGGLE_BIT(var, bit) ((var) = ((var) ^ BIT_POS(bit)))
170
#endif
171
172
#endif
// INCLUDED_UTIL_HELPER_H
17 Source Code
HFCC-01-CD-SC-0.22.4
Release_Packages
DlmApi
DeviceDriver
Include
DevCommon
utilHelper.h
Generated by
1.18.0