So let's try to understand how we use the multiple times.
So we already have an idea that they say time might be consists of two times, so they'll be trying
to understand all the different levels that you required to use to time.
We will be primarily focused on goal mode of abode, the time resources.
And as we practiced random cross-section, they will be covering how we use and interpret multiple times.
So we have a fundamental block that's been already added to our Vivaro idea.
So we have a micro base.
We have and you are right.
OK, so this we get when we add our default skip.
That we've been using from the beginning, right?
The only thing that you need to update is you just need to have the exact time where and by default,
both the time are reliable.
So we just need to make sure that the timer too is also right.
So once this is done, we are ready to interface design with the micro please by performing an action
occupation, right?
So connection automation will automatically end of these are the exact time we're utilizing the same
connect to the key people.
Right.
So once that is done, proceed to generate any still wrapper and then proceed for generation of a picture.
Right.
So I have already generated Bittu that will be going through an entire goal just to understand how we
will be utilized.
Right?
So the very first thing as we enter into a right, this idea is to include all the mandatory type,
right?
So they required the embassy here for working with the time you put it.
And second one is the next parameter, actually, which includes all the necessary hardware information.
Right.
So once this tour added, we start by adding.
Good structure, right, so first one is a convict structure, and the next one is an Insta structure.
Then we proceed for initialization of time.
But so even though we are utilizing a multiple times, but we have only a single instance of a timer,
so we do require just a single config and instant structure.
So we proceed.
First, we call lookup config where we pass the device that will return the config structure.
So once we have our config structure, we'll call the integers section and the base address in initialize
OK, and that will basically perform an initialization of our time.
Right.
Then we are performing a self-test, so we declare once you disable.
And what we are doing is we are calling the service.
OK.
And here we are, taking the same test for a timer run rate.
So to perform this elitist for our timer to what we could do is we could just copy this.
Add it to right here, right?
And then this will be naming as to zero that will be storing the to dissolve our timer 077.
So it is one that will be storing the studios of our timer when self-destruct.
Only thing that you need to do is to add the DMR number to do and so must you get number.
Also serve as a timer for us to work around with a timer zero.
We need to specify that you need to be zero for working with the timer.
We need to specify the IED to be right, right?
So this is how you distinguish between the timer.
So zero is used to recognize timer one and one is used to recognize timer, right?
So once we had this expression, what we will do is we'll just be checking that would stick to zero
as well.
Let's see this one.
OK?
Both giving us access to success.
And if that is the case, we could see that sent this far.
But the timer just sits this full and we'll just be mentioning that interest rate.
So this complete the procedure for initialization of the time.
So after we complete and initialization, we'll just be calling time running.
A great first step when we start working around with the timer is to call the stop API, right?
So stop.
And how do you distinguish between timeout?
Zero end timer one is by utilizing a unique idea, Rachel here.
Zero is used to refered timer run and one is used to refer timeout.
So we are stopping both the timers.
Then we are setting up the different reset values for good, the timer, so we could clearly analyze
the difference between that rate.
So the reset value for our timer one will be doing during this week and that basically can lead to digital
music.
Similarly, if you.
Analyze the next quote, so here what we are doing is we are setting up the delay for.
The timer two to be five to 10 this week, and that will basically generate a leader of night, so the
timer one will be generating an event after an interval of two second, while Timer two will be generating
a delay after an interval of five seconds.
Right?
Then the next step is to correctly set up an option, right?
So we just want to set an option so that the timers will be operating in that down mode, right?
So we have an option zero, which serve as a variable that will stay to the current option set for a
timer, right?
So.
We call a great option.
We specify the unique IED, which is zero, and that will basically return the default option we just
take for our timer run rate and then we are updating it so that we're able to operate in.
And so we just need to specify this option.
What a night with that existing option that we recommend.
Right?
Similarly, with then timer, do we call an option one which will be storing the default option for
the timer to will be for storing an option when variable?
And then we'll just be updating it says that we will our pretty remote doing it.
Done, great.
Then we are calling a reset for the timer's.
OK, and then what we are going to do is first will be executing the code for our timer.
But so we are starting our timer operation by calling a static fire.
Here you could clearly see we are stacking an operation for our one.
OK, we are waiting for the timer one to expire and then we are mentioning a delay of two seconds.
And this will be generated with the help of the timer.
And then we are calling the API for our timer to break.
This could be recognized by understanding that the number that you mentioned over here.
OK.
And then we are waiting for timer to expire again.
Exactly similar function only.
The difference will be in an IED that we specify automatic number that we specify.
And then he'll be mentioning that the delay of five seconds to this completes the code and just gives
you an idea how we work with the timer.
If you have a requirement for great, the first thing that you need to do is by default, the timer
enables Daimler to.
If it is not enabled, you just need to double check.
That timer, too is also enabled.
OK.
And then how we distinguish between timer, run and timer to this OK timer, one will be having a gear
Makhija number zero will give, which could be used as an IED for recognizing timer.
One and timer two will have a command secure number of two, which could also be utilized as an IED
for recognizing timer, and both of them will be having a set of thirty minutes.
So the max number that you could set the reset value that you would sort of load into a timer should
be.
Less than.
All requests to raise 232 minus, this makes it so this complete, the first thing that we do is after
we complete our application is to build the project great so that we can lead and fight for us.
Finally, that is the fight that we're going to run or not FPGA, right?
So we select our application project right-click, then we debug us and launch on hard right.
So once our programming is successful, OK, we just need to connect to the serial terminal, right?
So we go to click on this plus button, select CommSec's and then the rate at which we'll be operating
is 962, right?
So now we just need to click on a resume button that will was display the self-test successfully.
This basically mean we successfully initialize both our timeouts, right?
And then we get the lead of two second.
This is because of time away and the delay of five seconds.
This is because of time.
Right.
So this is how you utilize would the timers in a cooling?