FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kHxGpio.h
Go to the documentation of this file.
1 
8 #ifndef K_FIRESYNC_HX_GPIO_H
9 #define K_FIRESYNC_HX_GPIO_H
10 
11 #include <kFireSync/kNodeDef.h>
12 
13 typedef struct kHxGpioPin
14 {
15  kSize pinIndex;
16  kGpioPin pinType;
17  kBool eventsEnabled;
18 } kHxGpioPin;
19 
20 #include <kFireSync/Hardware/kHxGpio.x.h>
21 
29 //typedef kObject kHxGpio; --forward-declared in kFsDef.x.h
30 
31 kInlineFx(kHxNode) kHxGpio_Node(kHxGpio gpio)
32 {
33  kObj(kHxGpio, gpio);
34 
35  return obj->node;
36 }
37 
38 kInlineFx(kStatus) kHxGpio_SetEventHandler(kHxGpio gpio, kCallbackFx function, kPointer receiver, kAlloc eventAlloc)
39 {
40  return xkHxGpio_VTable(gpio)->VSetEventHandler(gpio, function, receiver, eventAlloc);
41 }
42 
43 kInlineFx(kSize) kHxGpio_BankCount(kHxGpio gpio)
44 {
45  return xkHxGpio_VTable(gpio)->VBankCount(gpio);
46 }
47 
48 kInlineFx(kGpioBankType) kHxGpio_BankType(kHxGpio gpio, kSize bankIndex)
49 {
50  return xkHxGpio_VTable(gpio)->VBankType(gpio, bankIndex);
51 }
52 
53 kInlineFx(kSize) kHxGpio_PinCount(kHxGpio gpio, kSize bankIndex)
54 {
55  return xkHxGpio_VTable(gpio)->VPinCount(gpio, bankIndex);
56 }
57 
58 kInlineFx(kStatus) kHxGpio_EnableEvents(kHxGpio gpio, kSize bankIndex, kSize pinIndex, kBool enabled)
59 {
60  return xkHxGpio_VTable(gpio)->VEnableEvents(gpio, bankIndex, pinIndex, enabled);
61 }
62 
63 kInlineFx(kBool) kHxGpio_EventsEnabled(kHxGpio gpio, kSize bankIndex, kSize pinIndex)
64 {
65  return xkHxGpio_VTable(gpio)->VEventsEnabled(gpio, bankIndex, pinIndex);
66 }
67 
68 kInlineFx(kStatus) kHxGpio_SetState(kHxGpio gpio, kSize bankIndex, k64u mask, k64u state)
69 {
70  return xkHxGpio_VTable(gpio)->VSetState(gpio, bankIndex, mask, state);
71 }
72 
73 kInlineFx(kStatus) kHxGpio_GetState(kHxGpio gpio, kSize bankIndex, k64u* state)
74 {
75  return xkHxGpio_VTable(gpio)->VGetState(gpio, bankIndex, state);
76 }
77 
78 kInlineFx(kStatus) kHxGpio_SetPinConfig(kHxGpio gpio, kSize bankIndex, kArrayList pinConfig)
79 {
80  return xkHxGpio_VTable(gpio)->VSetPinConfig(gpio, bankIndex, pinConfig);
81 }
82 
83 kInlineFx(kStatus) kHxGpio_GetPinConfig(kHxGpio gpio, kSize bankIndex, kArrayList pinConfig)
84 {
85  return xkHxGpio_VTable(gpio)->VGetPinConfig(gpio, bankIndex, pinConfig);
86 }
87 
88 #endif
Represents GPIO pin types.
#define kInlineFx(TYPE)
Essential declarations related to FireSync nodes.
Abstract base class for hardware node classes.
#define kObj(TypeName_T, T_object)
Represents GPIO bank types.