aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Drivers/Peripheral_GPIO/GPIO.h
blob: 66e99375d39228cf3fe1ea5ab02e97f0451f2d83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String
#ifndef DRIVERS_GPIO_H_
#define DRIVERS_GPIO_H_

#include <stdint.h>
#include <stdbool.h>
#include <driverlib/gpio.h>

typedef enum
{
    GPI001_LS_DH_CLEAN_DOWN,
    GPI002_LS_DH_CLEAN_LEFT,
    GPI003_LS_DH_CLEAN_RIGHT,
    GPI004_LS_DH_CLEAN_UP,
    GPI005_LS_DH_LID_CLEANING,
    GPI006_LS_DH_LID_CLOSED,
    GPI007_LS_DH_LID_OPEN,
    GPI008_LS_DH_SPARE1,
    GPI009_LS_DRYER_LID_CLOSED,
    GPI010_LS_DRYER_LID_OPEN,
    GPI011_LS_DRYER_SPARE1,
    GPI012_LS_DRYER_SPARE2,
    GPI013_LS_DRYER_SPARE3,
    GPI014_LS_DRYER_SPARE4,
    GPI015_LS_LOADARM_LEFT,
    GPI016_LS_LOADARM_RIGHT,
    GPI017_GPI_PS1_DC_OK,
    GPI018_GPI_PANSW1,
    GPI019_GPI_PANSW2,
    GPI020_GPI_PANSW3,
    GPI021_GPI_PANSW4,
    GPI022_GPI_PANSW5,
    GPI023_GPI_PANSW6,
    GPI024_GPI_PWRBUTTON,
    GPI025_GPI_TACTSW1,
    GPI026_GPI_TACTSW2,
    GPI027_GPI_TACTSW3,
    GPI028_GPI_TACTSW4,
    GPI029_GPI_EXTWINDER_1,
    GPI030_GPI_EXTWINDER_2,
    GPI031_GPI_EXTWINDER_3,
    GPI032_LS_DISPENSER_25_1,
    GPI033_LS_DISPENSER_25_2,
    GPI034_LS_DISPENSER_25_3,
    GPI035_LS_DISPENSER_25_4,
    GPI036_LS_DISPENSER_25_5,
    GPI037_LS_DISPENSER_25_6,
    GPI038_LS_DISPENSER_25_7,
    GPI039_LS_DISPENSER_25_8,
    GPI040_LS_DISPENSER_50_1,
    GPI041_LS_DISPENSER_50_2,
    GPI042_LS_DISPENSER_50_3,
    GPI043_LS_DISPENSER_50_4,
    GPI044_LS_DISPENSER_50_5,
    GPI045_LS_DISPENSER_50_6,
    GPI046_LS_DISPENSER_50_7,
    GPI047_LS_DISPENSER_50_8,
    GPI048_LS_DISPENSER_75_1,
    GPI049_LS_DISPENSER_75_2,
    GPI050_LS_DISPENSER_75_3,
    GPI051_LS_DISPENSER_75_4,
    GPI052_LS_DISPENSER_75_5,
    GPI053_LS_DISPENSER_75_6,
    GPI054_LS_DISPENSER_75_7,
    GPI055_LS_DISPENSER_75_8,
    GPI056_LS_DISPENSER_DOWN_1,
    GPI057_LS_DISPENSER_DOWN_2,
    GPI058_LS_DISPENSER_DOWN_3,
    GPI059_LS_DISPENSER_DOWN_4,
    GPI060_LS_DISPENSER_DOWN_5,
    GPI061_LS_DISPENSER_DOWN_6,
    GPI062_LS_DISPENSER_DOWN_7,
    GPI063_LS_DISPENSER_DOWN_8,
    GPI064_LS_DISPENSER_SPARE_1,
    GPI065_LS_DISPENSER_SPARE_2,
    GPI066_LS_DISPENSER_SPARE_3,
    GPI067_LS_DISPENSER_SPARE_4,
    GPI068_LS_DISPENSER_SPARE_5,
    GPI069_LS_DISPENSER_SPARE_6,
    GPI070_LS_DISPENSER_SPARE_7,
    GPI071_LS_DISPENSER_SPARE_8,
    GPI072_LS_DISPENSER_UP_1,
    GPI073_LS_DISPENSER_UP_2,
    GPI074_LS_DISPENSER_UP_3,
    GPI075_LS_DISPENSER_UP_4,
    GPI076_LS_DISPENSER_UP_5,
    GPI077_LS_DISPENSER_UP_6,
    GPI078_LS_DISPENSER_UP_7,
    GPI079_LS_DISPENSER_UP_8,
    GPI080_MIDTANK1_LVL1_FLOAT,
    GPI081_MIDTANK1_LVL2_FLOAT,
    GPI082_MIDTANK1_LVL3_FLOAT,
    GPI083_MIDTANK1_LVL4_FLOAT,
    GPI084_MIDTANK2_LVL1_FLOAT,
    GPI085_MIDTANK2_LVL2_FLOAT,
    GPI086_MIDTANK2_LVL3_FLOAT,
    GPI087_MIDTANK2_LVL4_FLOAT,
    GPI088_MIDTANK3_LVL1_FLOAT,
    GPI089_MIDTANK3_LVL2_FLOAT,
    GPI090_MIDTANK3_LVL3_FLOAT,
    GPI091_MIDTANK3_LVL4_FLOAT,
    GPI092_MIDTANK4_LVL1_FLOAT,
    GPI093_MIDTANK4_LVL2_FLOAT,
    GPI094_MIDTANK4_LVL3_FLOAT,
    GPI095_MIDTANK4_LVL4_FLOAT,
    GPI096_MIDTANK5_LVL1_FLOAT,
    GPI097_MIDTANK5_LVL2_FLOAT,
    GPI098_MIDTANK5_LVL3_FLOAT,
    GPI099_MIDTANK5_LVL4_FLOAT,
    GPI100_MIDTANK6_LVL1_FLOAT,
    GPI101_MIDTANK6_LVL2_FLOAT,
    GPI102_MIDTANK6_LVL3_FLOAT,
    GPI103_MIDTANK6_LVL4_FLOAT,
    GPI104_MIDTANK7_LVL1_FLOAT,
    GPI105_MIDTANK7_LVL2_FLOAT,
    GPI106_MIDTANK7_LVL3_FLOAT,
    GPI107_MIDTANK7_LVL4_FLOAT,
    GPI108_MIDTANK8_LVL1_FLOAT,
    GPI109_MIDTANK8_LVL2_FLOAT,
    GPI110_MIDTANK8_LVL3_FLOAT,
    GPI111_MIDTANK8_LVL4_FLOAT,
    GPI112_LS_SCREW_LEFT,
    GPI113_LS_SCREW_RIGHT,
    GPI114_SW_SPARE,
    GPI115_SW_SPOOL_EXISTS,
    GPI116_LS_LDANCER1_DOWN,
    GPI117_LS_LDANCER1_UP,
    GPI118_LS_LDANCER2_DOWN,
    GPI119_LS_LDANCER2_UP,
    GPI120_LS_LLOADMOTOR_DOWN,
    GPI121_LS_LLOADMOTOR_UP,
    GPI122_LS_LPIVOT_DOWN,
    GPI123_LS_LPIVOT_UP,
    GPI124_LS_LSPARE1,
    GPI125_LS_LSPARE2,
    GPI126_LS_PIVOT_SPARE1,
    GPI127_LS_PIVOT_SPARE2,
    GPI128_LS_RLOADMOTOR_UP,
    GPI129_GPI_TFEED_BREAK_1,
    GPI130_GPI_TFEED_BREAK_2,
    GPI131_LS_RDANCER_DOWN,
    GPI132_LS_RDANCER_UP,
    GPI133_LS_RLOADMOTOR_DOWN,
    GPI134_LS_RLOADRAM_DOWN, //F1_LS_RDANCER_LONG
    GPI135_LS_RLOADRAM_UP,
    GPI136_LS_RSPARE1,
    GPI137_LS_RSPARE2,
    GPI138_LS_SPARE1_1,
    GPI139_LS_SPARE1_2,
    GPI140_LS_SPARE1_3,
    GPI141_LS_SPARE1_4,
    GPI142_LS_SPARE2_1,
    GPI143_LS_SPARE2_2,
    GPI144_LS_SPARE2_3,
    GPI145_LS_SPARE2_4,
    GPI146_GPI_AIRFLOW_FLAP,
    GPI147_GPI_BLOWER_TACH,
    GPI148_GPI_CHILLER_FAULT,
    GPI149_GPI_CHILLER_STAT1,
    GPI150_GPI_SW_FILTER_PRES,
    GPI151_GPI_WCONTAINER_FULL,
    GPI152_GPI_WCONTAINER_WARN,
	NUM_OF_GPIO_INT
}GPIOInt_t;


#define STATUS_GREEN_LED_ON     ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_1, GPIO_PIN_1) //Turn ON STATUS Green LED
#define STATUS_RED_LED_ON       ROM_GPIOPinWrite(GPIO_PORTS_BASE, GPIO_PIN_0, GPIO_PIN_0) //Turn ON STATUS Red   LED

#define ACTIVITY_RED_LED_ON     ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, GPIO_PIN_0) //Turn ON ACTIVITY Red LED
#define ACTIVITY_GREEN_LED_ON   ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_0, GPIO_PIN_0) //Turn ON ACTIVITY Green LED

#define COMM_RED_LED_ON         ROM_GPIOPinWrite(GPIO_PORTP_BASE, GPIO_PIN_4, GPIO_PIN_4) //Turn ON COMM Red LED
#define COMM_GREEN_LED_ON         ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_1, GPIO_PIN_1) //Turn ON COMM Green LED

#define STATUS_GREEN_LED_OFF    ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_1, 0) //Turn OFF STATUS Green LED
#define STATUS_RED_LED_OFF       ROM_GPIOPinWrite(GPIO_PORTS_BASE, GPIO_PIN_0, 0) //Turn OFF STATUS Red   LED

#define ACTIVITY_RED_LED_OFF     ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, 0) //Turn OFF ACTIVITY Red LED
#define ACTIVITY_GREEN_LED_OFF   ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_0, 0) //Turn OFF ACTIVITY Green LED

#define COMM_RED_LED_OFF        ROM_GPIOPinWrite(GPIO_PORTP_BASE, GPIO_PIN_4, 0) //Turn OFF Red LED LED
#define COMM_GREEN_LED_OFF        ROM_GPIOPinWrite(GPIO_PORTJ_BASE, GPIO_PIN_1, 0) //Turn OFF COMM Green LED

#define STATUS_GREEN_LED_CHANGE_MODE    ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_1, (ROM_GPIOPinRead(GPIO_PORTN_BASE, GPIO_PIN_1) ^  GPIO_PIN_1));
#define ACTIVITY_RED_LED_CHANGE_MODE    ROM_GPIOPinWrite(GPIO_PORTN_BASE, GPIO_PIN_0, (ROM_GPIOPinRead(GPIO_PORTN_BASE, GPIO_PIN_0) ^  GPIO_PIN_0));
#define COMM_RED_CHANGE_MODE            ROM_GPIOPinWrite(GPIO_PORTP_BASE, GPIO_PIN_4, (ROM_GPIOPinRead(GPIO_PORTP_BASE, GPIO_PIN_4) ^  GPIO_PIN_4));

typedef void (*GPIOIntCallback)(GPIOInt_t arg);

void GPIOInit(void);

bool PollGPIO (uint8_t index);

void GPIOEnableInterrupt(GPIOInt_t gpioInt, GPIOIntCallback callBack, uint32_t type);

void GPIODisableInterrupt(GPIOInt_t gpioInt,GPIOIntCallback callBack);

#endif /* DRIVERS_GPIO_H_ */