FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kFsDef.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_FIRESYNC_DEF_H
9 #define K_FIRESYNC_FIRESYNC_DEF_H
10 
11 #include <kApi/Io/kNetwork.h>
12 
13 kBeginHeader()
14 
15 #if defined (K_FS_EMIT)
16 # define kFsFx(TYPE) kExportFx(TYPE)
17 # define kFsDx(TYPE) kExportDx(TYPE)
18 #else
19 # define kFsFx(TYPE) kImportFx(TYPE)
20 # define kFsDx(TYPE) kImportDx(TYPE)
21 #endif
22 
29 typedef k32s kEthernetLink;
30 
32 #define kETHERNET_LINK_NONE (0x0000)
33 #define kETHERNET_LINK_10_HALF (0x0001)
34 #define kETHERNET_LINK_10_FULL (0x0002)
35 #define kETHERNET_LINK_100_HALF (0x0004)
36 #define kETHERNET_LINK_100_FULL (0x0008)
37 #define kETHERNET_LINK_1000_HALF (0x0010)
38 #define kETHERNET_LINK_1000_FULL (0x0020)
39 #define kETHERNET_LINK_AUTO (0x8000)
40 
51 kFsFx(kStatus) kEthernetLink_Format(kEthernetLink speed, kChar* text, kSize capacity);
52 
60 kFsFx(k64u) kEthernetLink_Capacity(kEthernetLink speed);
61 
68 typedef k32s kNetworkSpeed;
69 
71 #define kNETWORK_SPEED_NULL (0x0000)
72 #define kNETWORK_SPEED_AUTO (0x0001)
73 #define kNETWORK_SPEED_10 (0x0002)
74 #define kNETWORK_SPEED_100 (0x0004)
75 #define kNETWORK_SPEED_1000 (0x0008)
76 
87 kFsFx(kStatus) kNetworkSpeed_Format(kNetworkSpeed speed, kChar* text, kSize capacity);
88 
95 typedef struct kMacAddress
96 {
98 } kMacAddress;
99 
110 kFsFx(kStatus) kMacAddress_Parse(kMacAddress* address, const kChar* text);
111 
123 kFsFx(kStatus) kMacAddress_Format(kMacAddress address, kChar* text, kSize capacity);
124 
131 typedef k32s kIpNegotiation;
132 
134 #define kIP_NEGOTIATION_STATIC (0)
135 #define kIP_NEGOTIATION_DHCP (1)
136 
137 
148 kFsFx(kStatus) kIpNegotiation_Format(kIpNegotiation ipNegotiation, kChar* text, kSize capacity);
149 
156 typedef struct kIpConfig
157 {
161  kIpNegotiation ipNegotiation;
162 } kIpConfig;
163 
171 kFsFx(k32u) kIpConfig_SubnetPrefixToMask(k32u prefix);
172 
181 
188 typedef struct kRegisterBits
189 {
194 } kRegisterBits;
195 
202 typedef struct kRegister16u
203 {
206 } kRegister16u;
207 
214 typedef struct kRegister32u
215 {
218 } kRegister32u;
219 
226 typedef k32s kVisualizerType;
227 
229 #define kVISUALIZER_MESH (0)
230 #define kVISUALIZER_PROPERTY_TABLE (1)
231 #define kVISUALIZER_TEXT (2)
232 #define kVISUALIZER_2D (3)
233 
241 typedef k32s kAlignment;
242 
244 #define kALIGNMENT_CENTRE (0x00)
245 #define kALIGNMENT_LEFT (0x01)
246 #define kALIGNMENT_RIGHT (0x02)
247 #define kALIGNMENT_TOP (0x04)
248 #define kALIGNMENT_BOTTOM (0x08)
249 #define kALIGNMENT_TOP_LEFT (kALIGNMENT_TOP | kALIGNMENT_LEFT)
250 #define kALIGNMENT_TOP_RIGHT (kALIGNMENT_TOP | kALIGNMENT_RIGHT)
251 #define kALIGNMENT_BOTTOM_LEFT (kALIGNMENT_BOTTOM | kALIGNMENT_LEFT)
252 #define kALIGNMENT_BOTTOM_RIGHT (kALIGNMENT_BOTTOM | kALIGNMENT_RIGHT)
253 
261 typedef k32s kFontStyle;
262 
264 #define kFONT_STYLE_NORMAL (0x00)
265 #define kFONT_STYLE_BOLD (0x01)
266 #define kFONT_STYLE_ITALIC (0x02)
267 #define kFONT_STYLE_UNDERLINE (0x04)
268 
276 typedef k32s kFontFamily;
277 
279 #define kFONT_FAMILY_SERIF (0)
280 #define kFONT_FAMILY_SANS_SERIF (1)
281 #define kFONT_FAMILY_MONOSPACE (2)
282 
290 typedef k32s kMarkerShape;
291 
293 #define kMARKER_SHAPE_CROSS (0)
294 #define kMARKER_SHAPE_PLUS (1)
295 #define kMARKER_SHAPE_CIRCLE (2)
296 #define kMARKER_SHAPE_SQUARE (3)
297 #define kMARKER_SHAPE_TRIANGLE (4)
298 #define kMARKER_SHAPE_DIAMOND (5)
299 
323 #define kField_ToMask_(MSB, LSB) \
324  (((((MSB) - (MSB) + 1) << ((MSB) - (LSB) + 1)) - 1) << (LSB))
325 
334 #define kField_Create_(MASK, SHIFT, FLD_VAL) \
335  (((FLD_VAL) << SHIFT) & (MASK))
336 
344 #define kField_CreateNamed_(FIELD_NAME, FLD_VAL) \
345  kField_Create_(FIELD_NAME##_MASK, FIELD_NAME##_SHIFT, FLD_VAL)
346 
358 #define kField_CreateRange_(MSB, LSB, FLD_VAL) \
359  kField_Create_(kField_ToMask_(MSB, LSB), LSB, FLD_VAL)
360 
371 #define kField_CreateNamedRange_(FIELD_NAME, FLD_VAL) \
372  kField_CreateRange_(FIELD_NAME##_MSB, FIELD_NAME##_LSB, FLD_VAL)
373 
382 #define kField_Extract_(REG_VAL, MASK, SHIFT) \
383  (((REG_VAL) & (MASK)) >> (SHIFT))
384 
392 #define kField_ExtractNamed_(REG_VAL, FIELD_NAME) \
393  (((REG_VAL) & (FIELD_NAME##_MASK)) >> (FIELD_NAME##_SHIFT))
394 
406 #define kField_ExtractRange_(REG_VAL, MSB, LSB) \
407  kField_Extract_(REG_VAL, kField_ToMask_(MSB, LSB), LSB)
408 
419 #define kField_ExtractNamedRange_(REG_VAL, FIELD_NAME) \
420  kField_ExtractRange_(REG_VAL, FIELD_NAME##_MSB, FIELD_NAME##_LSB)
421 
430 #define kField_Insert_(REG_REF, MASK, SHIFT, FLD_VAL) \
431  (*(REG_REF) = (*(REG_REF) & ~(MASK)) | kField_Create_(MASK, SHIFT, FLD_VAL))
432 
440 #define kField_InsertNamed_(REG_REF, FIELD_NAME, FLD_VAL) \
441  kField_Insert_(REG_REF, FIELD_NAME##_MASK, FIELD_NAME##_SHIFT, FLD_VAL)
442 
454 #define kField_InsertRange_(REG_REF, MSB, LSB, FLD_VAL) \
455  kField_Insert_(REG_REF, kField_ToMask_(MSB, LSB), LSB, FLD_VAL)
456 
467 #define kField_InsertNamedRange_(REG_REF, FIELD_NAME, FLD_VAL) \
468  kField_InsertRange_(REG_REF, FIELD_NAME##_MSB, FIELD_NAME##_LSB, FLD_VAL)
469 
479 #define kField_Diff_(REG_VAL_A, REG_VAL_B, MASK, SHIFT) \
480  ((kField_Extract_(REG_VAL_A, MASK, SHIFT) - kField_Extract_(REG_VAL_B, MASK, SHIFT)) \
481  & ((MASK) >> (SHIFT)))
482 
492 #define kField_DiffNamed_(REG_VAL_A, REG_VAL_B, FIELD_NAME) \
493  kField_Diff_(REG_VAL_A, REG_VAL_B, FIELD_NAME##_MASK, FIELD_NAME##_SHIFT)
494 
507 #define kField_DiffRange_(REG_VAL_A, REG_VAL_B, MSB, LSB) \
508  kField_Diff_(REG_VAL_A, REG_VAL_B, kField_ToMask_(MSB, LSB), LSB)
509 
522 #define kField_DiffNamedRange_(REG_VAL_A, REG_VAL_B, FIELD_NAME) \
523  kField_DiffRange_(REG_VAL_A, REG_VAL_B, FIELD_NAME##_MSB, FIELD_NAME##_LSB)
524 
534 #define kNanoToMicro_(V) ((V) / 1000)
535 
542 #define kMicroToNano_(V) ((V) * 1000)
543 
544 
546 #define kIO_TEST_IO_I2C_ID_EXT_AD7415 (0x49)
547 #define kIO_TEST_AD7415_SCALE_FACTOR (250);
548 
550 kEndHeader()
551 
552 #include <kFireSync/kFsDef.x.h>
553 
554 #endif
k16u data
Data value.
Definition: kFsDef.h:205
k32u kIpConfig_SubnetPrefixToMask(k32u prefix)
Converts a numeric subnet prefix length to an IPv4 subnet mask.
kByte address[6]
Address bytes (most significant byte first).
Definition: kFsDef.h:97
k32u address
Address value.
Definition: kFsDef.h:216
Represents IP auto configuration options.
k16u address
Address value.
Definition: kFsDef.h:190
k16u endBit
End bit.
Definition: kFsDef.h:192
k32u kIpConfig_SubnetMaskToPrefix(k32u mask)
Converts an IPv4 subnet mask to a numeric subnet prefix length.
kIpAddress address
IP address.
Definition: kFsDef.h:158
k16u address
Address value.
Definition: kFsDef.h:204
kIpNegotiation ipNegotiation
IP auto configuration setting.
Definition: kFsDef.h:161
Represents address configuration for an Internet Protocol adapter.
Definition: kFsDef.h:156
Represents 16-bit address/data register pair.
Definition: kFsDef.h:202
k32u prefixLength
Subnet prefix length.
Definition: kFsDef.h:159
Represents 32-bit address/data register pair.
Definition: kFsDef.h:214
Represents address/bits data register pair.
Definition: kFsDef.h:188
Represents an Ethernet address.
Definition: kFsDef.h:95
k16u data
Data value.
Definition: kFsDef.h:193
kIpAddress gateway
Default gateway address.
Definition: kFsDef.h:160
kStatus kIpNegotiation_Format(kIpNegotiation ipNegotiation, kChar *text, kSize capacity)
Formats a kIpNegotiation value to a string buffer.
kStatus kMacAddress_Format(kMacAddress address, kChar *text, kSize capacity)
Formats an Ethernet MAC address as a string.
k32u data
Data value.
Definition: kFsDef.h:217
k16u startBit
Start bit.
Definition: kFsDef.h:191
kStatus kMacAddress_Parse(kMacAddress *address, const kChar *text)
Parses a text-formatted Ethernet MAC address.
Represents an enumeration of data visualization types.
Represents a network speed.