1
00:00:00,060 --> 00:00:05,310
So let us try to understand any tax rates of the driver files that you require to work with a washed

2
00:00:05,310 --> 00:00:07,890
up time or is the right.

3
00:00:07,900 --> 00:00:13,260
So this is a driver file which consist of all the apps that help us to work with then washed off times.

4
00:00:13,290 --> 00:00:19,710
Then we have an experimental stage which help us to get any hardware related information or an identity

5
00:00:19,710 --> 00:00:20,190
related.

6
00:00:21,110 --> 00:00:24,540
So you have an exciting PC for then?

7
00:00:24,540 --> 00:00:27,480
Exceptionally literally, we have two exceptions, right?

8
00:00:27,900 --> 00:00:31,490
First, we stack the declaration of two structure, right?

9
00:00:31,500 --> 00:00:34,320
So this will be for initializing our took time off.

10
00:00:34,320 --> 00:00:38,100
So we declared the config structure and instead structure right?

11
00:00:38,940 --> 00:00:43,250
And then we proceed for performing initialization of and washed off names, right?

12
00:00:43,260 --> 00:00:48,630
So we here we have the function that performs an initialization often washed off name.

13
00:00:48,750 --> 00:00:55,350
So we call lookup config where we need to pass the device A.D. So as soon as you pass this document,

14
00:00:55,380 --> 00:01:00,110
this Genndy, the config structure for us, which we are storing in it, the ability to configure and

15
00:01:00,110 --> 00:01:05,760
then that config structure we are utilizing, along with the base address and the instance structure

16
00:01:05,760 --> 00:01:09,960
inside to see what initialize to initialize our watchdog timer, right?

17
00:01:10,200 --> 00:01:15,400
And this value, which is written by C of G initialize we are sorting in that status variable.

18
00:01:15,450 --> 00:01:23,760
So here, if the initialization is successful, it will simply retain existing success and it will retain

19
00:01:23,760 --> 00:01:24,990
existing fleet, right?

20
00:01:25,500 --> 00:01:32,550
So if it's due to the system success, we are just mentioning the end user that WD initialization is

21
00:01:32,550 --> 00:01:41,310
successful and we are sending WD D and Nick Field on a console right then in the case of a complex favorite.

22
00:01:41,340 --> 00:01:44,960
We prefer to perform a service and that is what we are doing away here.

23
00:01:44,970 --> 00:01:50,310
So we call the self-test API where we just need to apply an instant structure, right?

24
00:01:50,310 --> 00:01:52,830
So which serve as an argument for this function.

25
00:01:53,400 --> 00:01:57,080
And then there's also written whether sentences are successful or not.

26
00:01:57,130 --> 00:01:57,420
Right?

27
00:01:57,450 --> 00:02:00,510
We again need to check whether status is equal.

28
00:02:00,510 --> 00:02:01,830
Strict is just a sign.

29
00:02:01,830 --> 00:02:08,400
If that is the case, we could just mention that self-test is successful, and if studios is not equal

30
00:02:08,400 --> 00:02:11,030
to existing success, we could just mention self-test.

31
00:02:11,290 --> 00:02:11,480
Right.

32
00:02:11,500 --> 00:02:17,250
So these are all the things that you need to do that to correctly initialize WD, right?

33
00:02:17,250 --> 00:02:23,460
So once this is done, the next step is to correctly initialize IPC, right?

34
00:02:23,460 --> 00:02:29,130
So which itself so is one of the things that it that since we are planning to utilize and initialize

35
00:02:29,130 --> 00:02:29,580
function.

36
00:02:29,820 --> 00:02:31,890
We just required an instance structure, right?

37
00:02:31,890 --> 00:02:37,350
So document foreign initializes and instance structure and the device idea, right?

38
00:02:37,350 --> 00:02:43,510
So once you pass this to arguments, this will perform an initialization of an intra controller and

39
00:02:43,510 --> 00:02:49,080
then it will return the status of an initialization, which we are storing in that state as variable.

40
00:02:49,080 --> 00:02:55,130
So if status is racist or sexist, we could just mention that I indicia needed successful LS.

41
00:02:55,140 --> 00:02:56,730
We could mention I in this nick.

42
00:02:57,000 --> 00:02:57,270
Right?

43
00:02:57,540 --> 00:03:00,300
Then we start with the configuration, right?

44
00:03:00,540 --> 00:03:07,890
The first step is we will be initializing exception handler and then we will be specifying what is the

45
00:03:07,890 --> 00:03:09,310
type of an exception that we have?

46
00:03:09,330 --> 00:03:11,070
Finally, we need to enable great.

47
00:03:11,370 --> 00:03:18,690
So all the space that you require to work with an exception is available in the exception directory.

48
00:03:19,500 --> 00:03:21,360
So we call the exception in it.

49
00:03:21,690 --> 00:03:23,670
This will initialize an exception handler.

50
00:03:23,670 --> 00:03:29,040
Then we need to specify the type of an exception so died for an exception.

51
00:03:29,040 --> 00:03:33,000
Is this one which is the first document far out its Australia?

52
00:03:33,240 --> 00:03:36,840
Then we specify which will be the handler for this exception.

53
00:03:37,060 --> 00:03:41,460
So this will be the master handler that we have init I in DC rate driver.

54
00:03:42,090 --> 00:03:43,740
So that is what we have added over here.

55
00:03:43,740 --> 00:03:52,800
And the reader that we want has a callback is the instance structure that I anticipate and then we enable.

56
00:03:52,800 --> 00:03:54,660
So this remain similar to what?

57
00:03:55,640 --> 00:03:58,310
We've been using the and UPI as well this time.

58
00:03:58,340 --> 00:03:58,580
Right.

59
00:03:59,540 --> 00:04:07,640
The next step is to specify the unique IED that we get for the injury and then what should be the function

60
00:04:07,640 --> 00:04:09,880
that will be executed when we have an interest rate.

61
00:04:09,890 --> 00:04:14,070
So do specify that we call a connect function here.

62
00:04:14,090 --> 00:04:16,060
The first argument is an instance structure.

63
00:04:16,070 --> 00:04:18,590
Then we get a unique IED for our watchdog timer.

64
00:04:18,650 --> 00:04:23,870
This could be found out from an experimental stage that we specified in Handler for it, right?

65
00:04:24,050 --> 00:04:29,400
So here we declared one function, which is INTC handler, and that will serve as an handler when the

66
00:04:29,430 --> 00:04:31,520
interest from WTT occur, right?

67
00:04:31,970 --> 00:04:37,060
And the callback to the reader that we want to collect evidence is an instance structurally to offer

68
00:04:37,070 --> 00:04:37,820
WTT right?

69
00:04:37,820 --> 00:04:44,480
So this elderly discourse, whenever you want some data, in most of the cases, it will be the instance

70
00:04:44,480 --> 00:04:46,160
actually top up everything, right?

71
00:04:46,910 --> 00:04:52,490
Finally, we need to know clues switcher rate, so that could be done by calling an enabled switch rate.

72
00:04:53,060 --> 00:05:00,350
So here we again need to add an instance of and a unique idea that if we get four WTT now, if you explore

73
00:05:00,350 --> 00:05:05,090
the WTT driver, right, so I'll just be going to our WTT driver five.

74
00:05:05,600 --> 00:05:13,210
And here you could clearly notice that we do not have something as global enabled or simple enable.

75
00:05:14,390 --> 00:05:20,120
And whenever we are in a situation where we do not find global enable or our peripheral specific animal,

76
00:05:20,120 --> 00:05:25,160
we could skip the step to where we are enabling us to write this bill today.

77
00:05:25,160 --> 00:05:31,570
This is the last thing that we do is to start an operation or firing controller in a real right.

78
00:05:32,240 --> 00:05:33,560
This is what we specified.

79
00:05:33,560 --> 00:05:33,950
We're here.

80
00:05:34,990 --> 00:05:39,850
So let's try to understand the code for in England, all right, so what we're going to do is we will

81
00:05:39,850 --> 00:05:42,610
be first acknowledging our interest rate.

82
00:05:42,610 --> 00:05:48,950
So once we acknowledge and interrupt, the next step is to disable any further interest from this suicide

83
00:05:49,120 --> 00:05:49,370
rate.

84
00:05:49,370 --> 00:05:51,630
So whatever I do that we specified do here.

85
00:05:51,680 --> 00:05:57,460
So microplates will be serving or receiving an interest from that specific idea, right?

86
00:05:57,790 --> 00:06:02,680
Then we are double checking whether washed up name is really expired or not, similar to what we did

87
00:06:02,690 --> 00:06:04,320
with any set time world, right?

88
00:06:04,660 --> 00:06:12,400
And the only one thing that we are going to do in this specific function is sending up an introductory

89
00:06:12,400 --> 00:06:13,210
string one again.

90
00:06:13,630 --> 00:06:16,960
So this is what we need to do and we have that interest rate.

91
00:06:17,440 --> 00:06:20,640
So remember, we have not had a restart watchdog timer.

92
00:06:20,650 --> 00:06:25,140
So what would happen is are most of them accountable, right?

93
00:06:25,160 --> 00:06:30,250
And we will be able to get the single interrupt occurred on the.

94
00:06:31,210 --> 00:06:31,960
Cancelled, right?

95
00:06:32,170 --> 00:06:41,020
If we want to have a repeat event from this WTT, you need to restart your watchdog timer and you also

96
00:06:41,020 --> 00:06:43,240
need to enable an interest rate.

97
00:06:43,270 --> 00:06:47,440
So in this case, we only want to have the single interest from a washed up time.

98
00:06:47,470 --> 00:06:52,990
So what we are doing is we have first acknowledging an interest, then we are disabling any further

99
00:06:52,990 --> 00:06:54,430
interest from a watchdog timer.

100
00:06:54,880 --> 00:07:00,610
We are checking whether washed up timer is really expired or not and that we are performing the required

101
00:07:00,610 --> 00:07:04,870
processing as per user specific requirements.

102
00:07:05,080 --> 00:07:09,760
So here we just want to say and interrupt good message on purpose, and that is what we are doing.

103
00:07:10,330 --> 00:07:12,520
So we are not restarting our watchdog timer.

104
00:07:12,520 --> 00:07:16,770
So this will make sure that I have launched a counter right?

105
00:07:17,260 --> 00:07:23,380
And we do not generate any further requests of any interest from I was docked time.

106
00:07:23,530 --> 00:07:23,770
Right.

107
00:07:24,160 --> 00:07:29,850
So let me just go ahead and try to fill the entire application project, right?

108
00:07:30,220 --> 00:07:38,800
So once Bill is successful, we are going to go ahead and we will be launching our application or going

109
00:07:39,190 --> 00:07:41,450
to select the bogus launch on hard right.

110
00:07:42,570 --> 00:07:48,750
So here we already connected with Terminal to Column six to operate at nine six zero zero port.

111
00:07:48,990 --> 00:07:51,750
So we'll just go ahead and click on the resume button, right?

112
00:07:51,750 --> 00:07:57,120
So we could clearly notice that WTT and newly successful sectors is just successful.

113
00:07:57,430 --> 00:08:04,050
I and it is also successful and after an interval of 10 second, will be getting a single inch of perchlorate.

114
00:08:04,050 --> 00:08:09,150
And after that, we won't be getting anything because we configure our application code in such a way

115
00:08:09,150 --> 00:08:11,770
that we will only receive a single interest request.

116
00:08:12,300 --> 00:08:17,650
Now let us try to understand how we modified this code so that we will to get the multiple interpret

117
00:08:17,710 --> 00:08:24,420
with only thing that we can do here is we will be as we complete serving our answer that is sending

118
00:08:24,420 --> 00:08:25,980
an interlock around the console.

119
00:08:26,250 --> 00:08:32,400
We will just be restarting our washed off camera, so this will again initialize our counter back to

120
00:08:32,400 --> 00:08:35,580
the value that will be giving us 10 seconds.

121
00:08:36,090 --> 00:08:41,140
OK, and we again need to enable the interrupt from the source, right?

122
00:08:41,160 --> 00:08:44,250
And that could be done by calling and enable.

123
00:08:45,210 --> 00:08:54,490
Function, OK, or here, and then we will be adding the instance structure as well as a height.

124
00:08:54,660 --> 00:08:54,920
Right.

125
00:08:54,930 --> 00:09:00,800
So this will be your procedure when you want to be done multiple entry from a logical time of day rights

126
00:09:00,810 --> 00:09:02,610
that I didn't just build up our project.

127
00:09:02,910 --> 00:09:04,350
Let's be less successful.

128
00:09:04,410 --> 00:09:08,180
We could just select the configuration and click on relaunch, right?

129
00:09:08,190 --> 00:09:14,640
So what this will do is this will again program FPGA and then we believe it to run the new application

130
00:09:14,640 --> 00:09:16,120
or to an FPGA, right?

131
00:09:16,140 --> 00:09:22,110
So again, we have our pointer over here again in black and white is terminal is already connected to

132
00:09:22,110 --> 00:09:25,440
the specific support we just need to click on resume.

133
00:09:25,720 --> 00:09:25,980
Right.

134
00:09:25,980 --> 00:09:34,470
So now here we need to analyze whether we are receiving the multiple request from either washed up that

135
00:09:34,470 --> 00:09:39,110
worked in the previous case, we will be able to receive a single request.

136
00:09:39,150 --> 00:09:42,480
Now as we update our application code.

137
00:09:42,570 --> 00:09:45,210
OK, so here we already have our first request.

138
00:09:45,570 --> 00:09:49,290
Now let us wait for 10 second and see whether we get the second request.

139
00:09:49,500 --> 00:09:51,890
So here you will clearly analyze that.

140
00:09:51,900 --> 00:09:54,240
Now we are getting the second request.

141
00:09:54,510 --> 00:10:00,760
And if you further wait for 10 more second, you could still see that we are getting an interpreter,

142
00:10:00,900 --> 00:10:01,170
right?

143
00:10:01,380 --> 00:10:07,740
So this way you could get the multiple incorrect request from the WTO.

144
00:10:07,740 --> 00:10:12,900
Guess only thing that you need to configure is you need to restart the watchdog timer and you need to

145
00:10:12,900 --> 00:10:17,360
again enable a reception off an intro from watchdog time.
