1
00:00:00,060 --> 00:00:01,940
So let us start building up our application.

2
00:00:02,150 --> 00:00:05,880
So first thing that we going to do is to include all the many dignified you.

3
00:00:05,890 --> 00:00:10,950
So if you go to a board support package for an interim controller, the recommended rivalries are in

4
00:00:10,950 --> 00:00:13,800
D.C. and for GPA, which is GPA, right?

5
00:00:14,220 --> 00:00:15,030
So we'll go ahead.

6
00:00:15,180 --> 00:00:21,840
We proceed to include both the magnitude driver for I in D.C. we just need to add and perfect size X

7
00:00:21,840 --> 00:00:25,170
and then the tax rate for GPA.

8
00:00:25,290 --> 00:00:28,620
We again proceed in a similar fashion to X GPA.

9
00:00:28,620 --> 00:00:29,520
You got h.

10
00:00:30,150 --> 00:00:37,110
And the last driver file that we required to get in hardware related information is experimental start

11
00:00:37,110 --> 00:00:37,650
started raped.

12
00:00:38,010 --> 00:00:46,860
So we first proceed with initialization of the GPI opposing right so white and GPA you and it again,

13
00:00:46,860 --> 00:00:48,900
the process will remain exactly similar.

14
00:00:49,500 --> 00:00:56,220
So we need to declare to structure, conflict structure and the infrastructure so we go to the GPA driver.

15
00:00:56,910 --> 00:01:03,330
And here we have a config structure, so we'll be declaring it over here, right?

16
00:01:03,330 --> 00:01:04,530
And this should be a pointer.

17
00:01:04,530 --> 00:01:09,900
So I'll consecrate this is what we will be naming our config structure.

18
00:01:10,170 --> 00:01:11,880
Then we required an instant structure.

19
00:01:13,220 --> 00:01:21,320
So as we declare our conflict structure and internal structure, we go ahead and call look up Confederate,

20
00:01:21,330 --> 00:01:23,690
so this will lead to conflict structure for us.

21
00:01:24,080 --> 00:01:31,130
So truepill config will be equal to the look upon figure and here we need to pass the device idea.

22
00:01:31,130 --> 00:01:35,960
So to get the device ID, you just need to go to an experimental dotage wrest control.

23
00:01:35,960 --> 00:01:38,420
NF and Typekit UPI.

24
00:01:38,460 --> 00:01:38,810
Right.

25
00:01:38,810 --> 00:01:42,000
So here we have our device, right?

26
00:01:42,050 --> 00:01:45,920
So this is what we're going to add as an argument to the look config.

27
00:01:46,460 --> 00:01:49,860
The next step is to call CFG initially.

28
00:01:49,900 --> 00:01:56,000
So here we have our see if you initialize and this returns the status of initialization, right?

29
00:01:56,270 --> 00:01:57,290
So we go ahead.

30
00:01:57,530 --> 00:02:04,340
We declared one variable which renamed as status, and this code initialize required three argument

31
00:02:04,340 --> 00:02:07,220
first run in Steubenville, which is instant structure.

32
00:02:07,580 --> 00:02:14,510
Then the config structure and the last thing that it requires is a be said for a state to be said.

33
00:02:14,510 --> 00:02:18,110
This could be added from the parameter dirty trailer.

34
00:02:18,140 --> 00:02:24,200
The config structure itself consists of the B surface rate, so we'll just be invoking looking this

35
00:02:24,200 --> 00:02:25,040
address from it.

36
00:02:26,060 --> 00:02:30,170
And they will verify whether initialization is successful or not great.

37
00:02:30,200 --> 00:02:35,210
So since Dubai is a very simple, very fair, we do not need to perform a test for it, right?

38
00:02:35,630 --> 00:02:42,380
So SSD sexists look, in that case, we could just mention that.

39
00:02:43,920 --> 00:02:49,260
Cuba will reflect success rate again.

40
00:02:49,320 --> 00:02:53,580
Do not forget to add a new line character and we can just mention.

41
00:02:55,420 --> 00:02:59,230
GPA or their net, right?

42
00:03:00,040 --> 00:03:04,150
This complete the process of initialization, all five GPO now here.

43
00:03:04,390 --> 00:03:09,400
One thing we could do is since we are working on any job, we could set the direction for our pin in

44
00:03:09,400 --> 00:03:13,660
the initialization function itself, so we do not wait for an interrupt occur.

45
00:03:13,660 --> 00:03:15,370
And then we set up that addiction rate.

46
00:03:15,850 --> 00:03:20,770
So we go ahead and look for the EPA, which could be used to say detection, right?

47
00:03:20,780 --> 00:03:23,680
So this is an EPA that could be used to set the direction.

48
00:03:24,140 --> 00:03:27,400
No first argument is an instance structure.

49
00:03:27,400 --> 00:03:28,440
Then the China number.

50
00:03:28,450 --> 00:03:32,630
Remember, we are utilizing only a single China and then the addiction rate.

51
00:03:32,650 --> 00:03:35,650
So to say any of the pain as an input.

52
00:03:35,680 --> 00:03:39,400
We need to apply one and to set any of the bills and output.

53
00:03:39,400 --> 00:03:41,830
We need to apply zero rate to remember this effect.

54
00:03:42,160 --> 00:03:43,000
Now we go ahead.

55
00:03:43,480 --> 00:03:44,840
We call this API.

56
00:03:45,070 --> 00:03:51,850
The first argument is an instant structure, which is studio, then the chain and number, which is

57
00:03:51,850 --> 00:03:52,210
one.

58
00:03:52,510 --> 00:03:53,500
OK, and then election.

59
00:03:53,510 --> 00:04:00,490
Since we want to set the 16 points as an input, we'll just be adding f f right to four hexadecimal

60
00:04:00,490 --> 00:04:02,710
digits basically is equivalent to 16.

61
00:04:02,710 --> 00:04:02,950
What?

62
00:04:03,010 --> 00:04:03,300
Right?

63
00:04:04,390 --> 00:04:09,910
So this will set up the direction, so here we are performing initialization and we also set up the

64
00:04:09,910 --> 00:04:10,430
direction.

65
00:04:10,480 --> 00:04:15,130
Right now, we will be calling GPIO an 18 hour meeting application.

66
00:04:16,500 --> 00:04:22,230
So this complete all the steps that we need to perform to correctly initialize GPI opposite.

67
00:04:22,320 --> 00:04:27,690
Now we proceed to perform an initialization of an internal controller, right?

68
00:04:27,930 --> 00:04:32,730
And in line with the initialization will also be performing the different configuration right.

69
00:04:32,850 --> 00:04:37,670
We already discussed about discharge, so we'll take the help of this chart to build up our.

70
00:04:37,950 --> 00:04:38,240
Great.

71
00:04:38,700 --> 00:04:42,880
So first step is to perform an initialization of an intra controller.

72
00:04:42,900 --> 00:04:48,240
So we go ahead and we explore and I see driver file, right?

73
00:04:48,850 --> 00:04:51,870
Again, if you notice it consists of.

74
00:04:53,140 --> 00:04:59,440
The config structure and incident structure, right, I if you didn't lose the base which are available,

75
00:04:59,740 --> 00:05:02,860
so we do not have something else to look up config.

76
00:05:04,310 --> 00:05:09,610
So we do not have something I see of Jeanne, as you look up configures there, legacy of initializes

77
00:05:09,610 --> 00:05:13,400
is not there, so we'll proceed to use and initialise API.

78
00:05:13,430 --> 00:05:18,950
Again, this just required an instant structure, so we just need to declare an instant structure for

79
00:05:18,950 --> 00:05:19,850
an initial controller.

80
00:05:19,880 --> 00:05:22,540
We do not need to declare the config structure right.

81
00:05:22,550 --> 00:05:23,190
So exciting.

82
00:05:23,960 --> 00:05:27,290
And we'll just be naming this as I in D.C., right?

83
00:05:28,410 --> 00:05:33,810
We declared void, and then they did just name this as I NDC in it, right?

84
00:05:34,230 --> 00:05:37,710
This could be used to initialize our entire controller, so we call.

85
00:05:38,890 --> 00:05:39,910
They initialize.

86
00:05:40,220 --> 00:05:45,700
OK, and this basically required an instant structure and the device they rate and designate and the

87
00:05:45,700 --> 00:05:46,110
status.

88
00:05:46,110 --> 00:05:52,690
So since this state is the rebel leaders local to Dubai owned it, we could use the same name for the

89
00:05:52,690 --> 00:05:55,480
studio's variable in I in the seen it also, right?

90
00:05:55,480 --> 00:06:02,380
So I in see initialize and this required first argument as an INTC instance structure.

91
00:06:02,620 --> 00:06:05,180
And the next one is the device, right?

92
00:06:05,230 --> 00:06:08,980
So to get the device, I we just need to go to X parameter dot each file.

93
00:06:09,340 --> 00:06:11,500
Look for AI and DC and.

94
00:06:12,560 --> 00:06:15,890
Here you have your device, 84 or 93.

95
00:06:16,190 --> 00:06:23,090
That is one we night as an argument to an initialize function, then we need to for whether the initialization

96
00:06:23,090 --> 00:06:24,170
is successful or not.

97
00:06:24,170 --> 00:06:27,350
So we'll just be copying this same logic over here.

98
00:06:27,560 --> 00:06:35,300
Only thing that we need to modify is it should be in and it's successful or I envision it free right

99
00:06:35,810 --> 00:06:37,440
now for an intro controller.

100
00:06:37,460 --> 00:06:40,780
We could also perform the services that will always be a good idea.

101
00:06:40,820 --> 00:06:45,200
So we go to an AI in DC and then we have this set straight.

102
00:06:45,470 --> 00:06:48,950
This just required as an instance structure as an argument.

103
00:06:48,950 --> 00:06:50,390
So we go ahead.

104
00:06:50,660 --> 00:06:56,420
Again, we will have the the value of the status so that it stored the status of a self.

105
00:06:56,420 --> 00:06:58,960
Does that we are performing within a controller, right?

106
00:06:58,970 --> 00:07:02,370
So this required just an instant structure.

107
00:07:02,400 --> 00:07:03,560
That is what we going to add.

108
00:07:03,590 --> 00:07:09,980
And again, we will be performing the check whether student is equal status to success.

109
00:07:09,980 --> 00:07:16,490
And if that is the case, we will be mentioning that I in DC, no self test is successful.

110
00:07:16,760 --> 00:07:17,510
This makes sense.

111
00:07:18,200 --> 00:07:21,170
So this complete the process of initialization.

112
00:07:21,170 --> 00:07:26,600
What we are doing is we are performing initialization and we are running the self test right now will

113
00:07:26,840 --> 00:07:31,670
perform the different step that is used for our configuration of an internal controller, right?

114
00:07:31,970 --> 00:07:35,870
So after 90 ce initialization, no, this consists of two steps.

115
00:07:35,870 --> 00:07:42,200
Remember, first one is performing an initialization and second one is performing, so we could see

116
00:07:42,200 --> 00:07:43,840
this consists of two step.

117
00:07:43,850 --> 00:07:47,060
The first step is to initialize.

118
00:07:49,290 --> 00:07:53,640
Right, and the second step will be to perform sell this.

119
00:07:54,690 --> 00:08:00,360
OK, now we could proceed to our next tip that is enabling an exception handler, OK, so exception

120
00:08:00,360 --> 00:08:02,850
in our case will be an interest rate.

121
00:08:03,060 --> 00:08:09,120
So we go ahead and we look for the exception handler EPA right?

122
00:08:09,360 --> 00:08:12,990
So all the exception related EPA is are available in jail.

123
00:08:14,080 --> 00:08:21,040
Exception, daughter trait, so you need to include this hated flight, and then we'll look for the

124
00:08:21,040 --> 00:08:22,460
apps that are available, right?

125
00:08:23,450 --> 00:08:25,370
So here you have an interrupted.

126
00:08:25,880 --> 00:08:32,960
So first step is to initialize our exception handler, and for that we have the API, right, so we

127
00:08:32,960 --> 00:08:34,940
need to call and select ception in it.

128
00:08:35,300 --> 00:08:38,180
And this will automatically perform an initialization, right?

129
00:08:38,570 --> 00:08:43,850
So we'll go ahead and we perform initialization by calling this Zebpay.

130
00:08:43,880 --> 00:08:45,620
This does not require any argument.

131
00:08:45,660 --> 00:08:45,830
Right.

132
00:08:45,860 --> 00:08:52,100
So we do not need to do anything, then we need to specify the exception type, right?

133
00:08:52,100 --> 00:08:54,830
And that could be done with the help of registering the right.

134
00:08:54,840 --> 00:08:56,050
So this required an IED.

135
00:08:56,060 --> 00:09:02,910
ID is used to recognize the type of an exception, then an exception handler and finally ID, right?

136
00:09:02,930 --> 00:09:04,220
So we copy this.

137
00:09:05,000 --> 00:09:06,380
We go back to our mean code.

138
00:09:06,860 --> 00:09:07,190
OK.

139
00:09:07,400 --> 00:09:09,350
An IED for an interrupt.

140
00:09:09,350 --> 00:09:10,680
Is this one right?

141
00:09:10,750 --> 00:09:12,740
Exceptionally so with the exception.

142
00:09:12,740 --> 00:09:18,200
IED i I.A. is defined for all the processor, but with the different value, and this is an exception

143
00:09:18,200 --> 00:09:19,550
ID for an interest rate.

144
00:09:19,880 --> 00:09:25,250
So we'll be calling it going back to an halol, and this will serve as a first argument for us.

145
00:09:25,580 --> 00:09:33,140
The second argument is and handler for this case rate and remember that Enock is the master handler

146
00:09:33,140 --> 00:09:35,570
will be i INDC that is in control, right?

147
00:09:35,580 --> 00:09:41,780
So if you go to an AI in DC header file, you have an interrupt handler and that will be serving as

148
00:09:41,780 --> 00:09:43,640
an introvert handler for an interest rate.

149
00:09:43,970 --> 00:09:44,960
So we go ahead.

150
00:09:44,990 --> 00:09:50,340
We add this interrupt handler over here, and the good idea will be to always perform a typecasting

151
00:09:50,340 --> 00:09:51,770
related exception.

152
00:09:52,610 --> 00:09:55,730
Expect the second argument to be in this format.

153
00:09:55,970 --> 00:09:58,840
So we'll just be performing the typecasting rate.

154
00:09:58,850 --> 00:10:01,640
So here we will be adding it over here, right?

155
00:10:01,640 --> 00:10:06,320
So we are performing typecasting, and the interrupt handler for us is the master interrupt handler

156
00:10:06,710 --> 00:10:07,470
that we have in.

157
00:10:07,510 --> 00:10:10,100
And I think the last is the redirect required.

158
00:10:10,100 --> 00:10:16,010
So this will be and I think, OK, which is an instance structure for it in Japan, right?

159
00:10:16,280 --> 00:10:21,170
So once this is done, we just need to now enable so we initialize an exception.

160
00:10:21,470 --> 00:10:24,290
We define that type of an exception.

161
00:10:24,360 --> 00:10:27,590
The next step is to enable an exception rate and to do that.

162
00:10:27,830 --> 00:10:30,050
We also have an API over here, right?

163
00:10:30,090 --> 00:10:36,350
This, again, do not require any argument, so we'll just be calling it going ahead at it over here,

164
00:10:36,380 --> 00:10:36,650
right?

165
00:10:36,890 --> 00:10:41,710
So this complete the step one all fire solution.

166
00:10:41,780 --> 00:10:46,730
OK, so I in DC, initialization is already completed and enable exception.

167
00:10:46,730 --> 00:10:48,200
Handler is also great.

168
00:10:49,850 --> 00:10:55,570
The next step is to specify the type of an entrance and the hang for it, right?

169
00:10:55,810 --> 00:10:59,900
So we specified a master in Japan Labor, a handler over here.

170
00:11:00,110 --> 00:11:03,740
But then that interrupt handler could have a multiple entrance.

171
00:11:03,860 --> 00:11:08,930
Right now, we need to correctly specify that this is an interruption for that in.

172
00:11:09,230 --> 00:11:11,630
This is and function which will act as an handler, right?

173
00:11:11,930 --> 00:11:14,630
And to do that, we need to write the call great.

174
00:11:14,630 --> 00:11:15,410
So we go ahead.

175
00:11:16,040 --> 00:11:20,900
And then the first API that we have is connect, right?

176
00:11:21,170 --> 00:11:23,210
So this will specify the.

177
00:11:24,360 --> 00:11:31,050
Function handler for the specific source of an interest rate, so we just call this function.

178
00:11:32,550 --> 00:11:40,340
OK, so first argument, if you can see is an A.C. pointer, right?

179
00:11:40,350 --> 00:11:41,730
So that is an integer structure.

180
00:11:41,740 --> 00:11:47,010
So we'll just call and see then the unique idea that you have for an interrupt.

181
00:11:47,030 --> 00:11:50,600
So if you analyze the second argument is an IED, right?

182
00:11:50,620 --> 00:11:55,740
So this is how we recognize the different sources of an interest rate so far each and job that you add

183
00:11:55,980 --> 00:11:58,440
to an idea and you get an unique IED.

184
00:11:58,590 --> 00:12:01,590
And that is how we recognize the source of an interstate.

185
00:12:01,830 --> 00:12:05,100
So to get an IED again, this is hardware related information.

186
00:12:05,100 --> 00:12:09,310
So we go to an experimental stage and you just need to look for a vector.

187
00:12:09,460 --> 00:12:16,410
So we have added an enter for a GPIO, so you just need to find out the key word Cupido, unless correct?

188
00:12:16,480 --> 00:12:16,730
Right.

189
00:12:16,740 --> 00:12:19,410
So that they just go ahead and try to find out.

190
00:12:19,410 --> 00:12:19,860
Vector.

191
00:12:20,240 --> 00:12:20,550
OK.

192
00:12:20,850 --> 00:12:25,590
And here you will see we have an intra flora GPO and this is a vector idea, right?

193
00:12:25,590 --> 00:12:30,570
So this will serve as and unique ID for the GPI interest rate.

194
00:12:30,570 --> 00:12:33,240
That is what we're going to add as the second argument.

195
00:12:33,270 --> 00:12:38,810
The third argument I'd have is if you have this unique idea that is an integer from this source, OK,

196
00:12:38,820 --> 00:12:40,440
what should be the handler?

197
00:12:40,440 --> 00:12:42,110
So first, we'll just be copying this.

198
00:12:42,110 --> 00:12:45,120
So this will act as a type for us.

199
00:12:45,180 --> 00:12:45,470
OK.

200
00:12:45,930 --> 00:12:47,190
So this will be.

201
00:12:48,770 --> 00:12:55,340
And then the handler for us will be later just declared one function that will act as an handler for

202
00:12:55,340 --> 00:12:55,750
us, right?

203
00:12:55,760 --> 00:12:56,780
So GPIO.

204
00:12:58,160 --> 00:13:04,340
And so this is a function that we want to call when we have an interest rate, so we'll just be calling

205
00:13:04,340 --> 00:13:04,970
this handler.

206
00:13:05,360 --> 00:13:08,480
We go back to a clinic function and we added, We're here, right?

207
00:13:08,510 --> 00:13:14,420
The last argument is whether we want to store any detail or get any data when we have an interest in

208
00:13:14,420 --> 00:13:16,780
this case, we could just add zero rate.

209
00:13:16,890 --> 00:13:18,140
This doesn't affect us.

210
00:13:18,290 --> 00:13:18,710
Zero.

211
00:13:19,130 --> 00:13:25,340
Or you could just add the instant structure of a GPI, or that is the D Day if you want to get it right.

212
00:13:26,180 --> 00:13:32,470
So this complete specifying the unique ID for an injury and the handler when that interpreter.

213
00:13:32,480 --> 00:13:32,780
Right.

214
00:13:33,680 --> 00:13:37,610
The next step is to close this just so we go ahead.

215
00:13:39,420 --> 00:13:44,610
So to close the switch, we have this in Libya, right, so that is what we're going to call over here

216
00:13:44,610 --> 00:13:47,690
and this required again, and it's just such a unique idea, right?

217
00:13:48,030 --> 00:13:53,700
So we go ahead and we copy this to argument, and these are the same argument that this function also

218
00:13:53,700 --> 00:13:54,080
requires.

219
00:13:54,270 --> 00:13:58,050
Now what this will do is this will automatically close this switch.

220
00:13:58,050 --> 00:14:04,000
Nowhere in D.C. could receive the interest from a benefit, provided that this, which is also closed

221
00:14:04,050 --> 00:14:05,760
straight to enable input to.

222
00:14:05,880 --> 00:14:06,470
I see.

223
00:14:08,430 --> 00:14:15,090
So now we could look for this very, very specific function that could be used to close the switch on

224
00:14:15,090 --> 00:14:16,320
the peripheral tribal area.

225
00:14:16,410 --> 00:14:18,510
So if the area available, you need to add it.

226
00:14:18,530 --> 00:14:21,900
If they are not available, you are ready to proceed, right?

227
00:14:22,080 --> 00:14:27,220
So we'll go ahead and look for the GPIO tribal fight rate.

228
00:14:27,230 --> 00:14:30,930
So here you could see we have two functions.

229
00:14:30,930 --> 00:14:35,170
So one is global enabled and next one is an interest rate.

230
00:14:36,090 --> 00:14:42,170
Whenever you see both, the EPA is have a label that is global enabled as well as it, but in that case,

231
00:14:42,180 --> 00:14:48,020
OK, you need to add both Dizzy Bay to close our second switch, right?

232
00:14:48,030 --> 00:14:51,270
So first, which could be closed by just calling I indiscernible.

233
00:14:51,570 --> 00:14:56,040
Let me just call Global Enable first, and this required an instant structure, right?

234
00:14:56,430 --> 00:14:57,390
So we go ahead.

235
00:14:58,940 --> 00:15:05,750
And here we are, an instance of cheer for us, it is Dubai, the next one is to interrupt in a bit,

236
00:15:05,750 --> 00:15:06,010
right?

237
00:15:06,110 --> 00:15:10,740
This is also you need to act to enable the to here.

238
00:15:11,000 --> 00:15:15,110
Both of this will be working together to close our switch to right.

239
00:15:15,800 --> 00:15:18,710
This required first and instant structure and then.

240
00:15:20,780 --> 00:15:25,460
Instance EPCR and then the mosque, right, so mosque will be the mosque for China.

241
00:15:25,580 --> 00:15:28,610
And so if you go to the tribal fight.

242
00:15:28,640 --> 00:15:33,590
OK, so usually the hardware related information, if you do not find any mosque over here.

243
00:15:34,280 --> 00:15:36,860
So mosque are usually at the top of my trailer.

244
00:15:37,280 --> 00:15:39,350
And here we do not have any mosque, right?

245
00:15:39,350 --> 00:15:42,200
So you go to Dubai and the school réglage, right?

246
00:15:42,500 --> 00:15:49,850
So here you'll be finding all the information which is not mentioned over here, right in the driver

247
00:15:49,850 --> 00:15:50,110
file.

248
00:15:50,120 --> 00:15:57,770
So if you go to the GPA, you underscore L Dot H so you could find the mosque related information.

249
00:15:57,770 --> 00:15:59,030
Do getting to work here right?

250
00:15:59,030 --> 00:16:04,040
So we want to have a chain, Elon Musk, because we are just utilizing the chain L1, right?

251
00:16:04,040 --> 00:16:07,860
So we will be copying this and then we will be adding a door here.

252
00:16:07,900 --> 00:16:08,140
Right.

253
00:16:08,150 --> 00:16:09,200
So this complete the code.

254
00:16:09,440 --> 00:16:13,040
Now what this does is this will automatically close this switch.

255
00:16:13,040 --> 00:16:17,150
Right now, we are ready to send the intro from peripheral to AI in DC, right?

256
00:16:18,260 --> 00:16:19,370
The last step, right?

257
00:16:19,640 --> 00:16:22,820
The last step is to start an operation off and interrupt.

258
00:16:22,850 --> 00:16:27,650
Now we are planning to sense an interest from the hardware itself.

259
00:16:27,650 --> 00:16:27,800
Simple.

260
00:16:27,950 --> 00:16:30,770
So the mode in which we will be operating is really more great.

261
00:16:30,770 --> 00:16:37,550
So we go to an exciting DC and then you have this stock great and this is operating to more rate.

262
00:16:37,550 --> 00:16:40,340
So either it could be the simulation mode, OK?

263
00:16:40,370 --> 00:16:45,980
For that, you'll need to add in simulation mode, or it could be in real more rate that allow us to

264
00:16:45,980 --> 00:16:54,470
work within hardware related interest rate higher when you are utilizing it to sense the enter from

265
00:16:54,470 --> 00:16:55,760
an actual hardware, right?

266
00:16:55,770 --> 00:16:58,460
So we go ahead, we call this OK.

267
00:17:00,190 --> 00:17:06,460
This required first argument as an instance structure, so I in D.C. and then whether you are operating

268
00:17:06,460 --> 00:17:12,600
in a simulation mode or whether you are operating in an hardware mode, right?

269
00:17:12,610 --> 00:17:17,170
So we'll just be calling this because we want to operate in a real moderate.

270
00:17:18,730 --> 00:17:27,180
So this completes all the configuration and initialization that you need to do with the interrupt controller,

271
00:17:27,190 --> 00:17:27,490
right?

272
00:17:28,210 --> 00:17:31,150
So just to distinguish between the different thing that we do.

273
00:17:31,240 --> 00:17:36,400
So this will initialize and enable.

274
00:17:37,680 --> 00:17:51,810
Exception handler, right, there's a representative step one, then specify unique IED or unique.

275
00:17:52,740 --> 00:17:55,620
This could be just specifying trip type.

276
00:17:57,390 --> 00:17:58,850
Interpolate OK.

277
00:17:59,550 --> 00:18:04,200
And then you also need to specify the handler for it, right?

278
00:18:04,500 --> 00:18:10,980
And this is done by the unique idea that you get for an interest in an experimental advantage rate,

279
00:18:11,370 --> 00:18:18,720
then this representing closing switch one rate.

280
00:18:19,850 --> 00:18:26,360
And then this represent losing switch to.

281
00:18:27,930 --> 00:18:29,310
And the last step is start.

282
00:18:30,710 --> 00:18:31,970
Operation in.

283
00:18:33,730 --> 00:18:34,180
Really?

284
00:18:34,510 --> 00:18:34,840
Right?

285
00:18:35,350 --> 00:18:40,780
So these are the series of steps that you need to perform now, in some cases, it may be possible that

286
00:18:40,780 --> 00:18:43,210
you do not have this switch available.

287
00:18:44,640 --> 00:18:47,640
In that case, you could simply skip it, right?

288
00:18:49,490 --> 00:18:52,360
The last spending step is to declare that UPI.

289
00:18:52,910 --> 00:18:53,210
Right.

290
00:18:53,250 --> 00:18:58,820
So what are we going to do is we will be forced disabling and intervention as we reach to handle.

291
00:18:59,120 --> 00:19:01,520
OK, and then we process the interest.

292
00:19:01,790 --> 00:19:07,070
And finally, we enable back an interest rate, so we go ahead first, acknowledge an interest.

293
00:19:07,340 --> 00:19:13,010
So if you go to a 90TSI, so we have an API to acknowledge an interest rate, so we go ahead.

294
00:19:13,950 --> 00:19:15,090
We call this EPA.

295
00:19:16,130 --> 00:19:24,140
First argument is an interrupt handler, and the next one is an unique IED that we get, right, so

296
00:19:24,140 --> 00:19:26,720
that is an unique IED that we have over here.

297
00:19:26,720 --> 00:19:29,420
So we'll just be copying this, adding it over here.

298
00:19:29,480 --> 00:19:29,690
Right.

299
00:19:29,690 --> 00:19:40,310
So once we acknowledge and now we go to the next episode or take a look there, we have an API to disable

300
00:19:40,310 --> 00:19:41,090
and integrate.

301
00:19:41,100 --> 00:19:45,230
So that is what we're going to do here to disable and interrupt.

302
00:19:46,620 --> 00:19:52,800
OK, this required again the Dubai idea and the channel must state, so we'll just be copying this.

303
00:19:53,660 --> 00:19:55,180
We will be adding a door here.

304
00:19:55,470 --> 00:19:55,760
Right?

305
00:19:56,030 --> 00:20:01,910
But once you disable and interrupt, the next step is to serve, and that is what you want to do with

306
00:20:01,910 --> 00:20:02,600
an interest rate.

307
00:20:02,600 --> 00:20:07,310
In this case, we want to send the value that we read on to a console.

308
00:20:07,350 --> 00:20:10,860
OK, so to do that, we just need to call the printer.

309
00:20:12,780 --> 00:20:15,350
Hear what we were going to add is in trouble.

310
00:20:16,620 --> 00:20:17,040
OK.

311
00:20:18,480 --> 00:20:18,810
OK.

312
00:20:19,170 --> 00:20:22,530
And we going to also mention Value Ray.

313
00:20:22,710 --> 00:20:23,070
OK.

314
00:20:23,550 --> 00:20:27,560
But Sidoti again, do not forget to add a new line director.

315
00:20:27,850 --> 00:20:32,160
So, ladies, first to the value of the switch.

316
00:20:32,160 --> 00:20:33,800
OK, in utero, you do.

317
00:20:33,810 --> 00:20:36,180
So this will be switch red.

318
00:20:38,040 --> 00:20:38,400
OK.

319
00:20:38,940 --> 00:20:43,800
And to read the value that we have on a switch, we have a discreet reading period, so we'll just be

320
00:20:43,800 --> 00:20:49,020
calling this, and the China number for us is what rate we will be adding this.

321
00:20:49,080 --> 00:20:52,630
The instant structure for us is GPIO China.

322
00:20:52,630 --> 00:20:53,730
The number will do like rate.

323
00:20:53,730 --> 00:20:55,280
So we are reading the value of switch.

324
00:20:55,290 --> 00:21:00,000
We already set up the direction when we initialize our GPI or badassery right here, you could clearly

325
00:21:00,270 --> 00:21:00,870
remember.

326
00:21:01,170 --> 00:21:05,330
And then we will be printing the value of it, right?

327
00:21:05,340 --> 00:21:09,510
So this is the process that we need to do when we have an interest.

328
00:21:10,650 --> 00:21:17,700
Now we'll see whether we have an EPA to clear the pending enterprise, so here we have an EPA.

329
00:21:19,330 --> 00:21:24,130
This will clear up the spending, and so we'll just be calling it over here, OK?

330
00:21:24,550 --> 00:21:30,640
And there's again required the same to argument that we have for an interpreter, so we collided over

331
00:21:30,640 --> 00:21:37,450
here and then the last step is to enable and interrupt so that we could receive the new request.

332
00:21:37,690 --> 00:21:39,850
Then user changed the switch, right?

333
00:21:39,850 --> 00:21:41,440
So we'll just be calling this.

334
00:21:43,340 --> 00:21:43,670
OK.

335
00:21:43,910 --> 00:21:45,890
Again, this required this to argue.

336
00:21:47,410 --> 00:21:52,080
OK, so once this is done, this complete the process, right, so we need to first acknowledge an injury,

337
00:21:52,420 --> 00:21:59,220
disable and injured so that we do not get the new request until we solve the current danger request.

338
00:21:59,860 --> 00:22:03,040
Then we read the value from a switch, OK?

339
00:22:03,370 --> 00:22:05,560
We are sending that value on to a console.

340
00:22:05,620 --> 00:22:10,260
We are clearing any pending request and then we are enabling back our interest rate.

341
00:22:10,270 --> 00:22:12,580
So this is what we're going to do in an independent.

342
00:22:12,890 --> 00:22:13,660
But this is done.

343
00:22:13,660 --> 00:22:17,210
We just need to call an interrupt handler in our main application, right?

344
00:22:17,210 --> 00:22:19,750
So we already called GPI on it.

345
00:22:19,820 --> 00:22:20,830
Now we are calling an in.

346
00:22:21,610 --> 00:22:24,310
And with an intro, we just need to perform a reading.

347
00:22:24,910 --> 00:22:28,810
OK, so that user will add an intro and then that will be serving us right?

348
00:22:28,810 --> 00:22:30,250
So we do not need to do anything.

349
00:22:30,250 --> 00:22:31,510
We'll just be waiting here.

350
00:22:31,840 --> 00:22:37,280
So while one and then as soon as user genes dusted off a search, we will be getting an interrupt and

351
00:22:37,280 --> 00:22:39,580
that will be sold by our interpreter, right?

352
00:22:39,880 --> 00:22:45,760
So this completes an entire knew what we were going to add when you are working with an interest rate.

353
00:22:46,000 --> 00:22:49,210
So let us proceed to build up our entire application project.

354
00:22:51,090 --> 00:22:53,100
To one to build a successful.

355
00:22:54,930 --> 00:22:58,910
We will select an application project debug at launch on hardware.

356
00:22:59,720 --> 00:23:05,240
OK, so this will switch our perspective from design to debug and automatically program our FPGA.

357
00:23:05,240 --> 00:23:11,350
We go to a dystopia where we will be selecting the Column six and the border, which is nine six zero

358
00:23:11,360 --> 00:23:11,830
six, right?

359
00:23:11,870 --> 00:23:16,330
The only thing that we're going to need is to click on a resume button, right?

360
00:23:16,340 --> 00:23:21,970
So once you do that, you'll be finding that GPIO initialization is successful in D.C. and it is also

361
00:23:21,980 --> 00:23:22,540
successful.

362
00:23:22,540 --> 00:23:24,240
LightSail test is also successful.

363
00:23:24,240 --> 00:23:29,830
You know, what we're going to do is will be changing the state of the switch, right, too.

364
00:23:31,490 --> 00:23:35,750
And as soon as you could see as I change the value of a switch.

365
00:23:36,080 --> 00:23:38,330
So let me just go ahead, right?

366
00:23:38,330 --> 00:23:43,730
So now what we're going to do is we will be changing the state of an Elizabeth switch, right?

367
00:23:43,730 --> 00:23:49,010
So if I make a little switch one, you could see that the value really lives like if I change the next

368
00:23:49,010 --> 00:23:50,110
LSP switch.

369
00:23:50,120 --> 00:23:56,180
So we'll be finding the value three if I change next one, the value seven, if I change next one,

370
00:23:56,180 --> 00:24:00,590
the value is fifteen thirty one, sixty three and so on and so forth.

371
00:24:00,680 --> 00:24:00,920
Right.

372
00:24:01,220 --> 00:24:06,520
So you could clearly see be able to sense and enter and send the value on to a console.
