Linux Timers in C - c

I am working on some Linux applications that uses timers.I need to change the timer interval during runtime.So is there any API that could detect whether any previous timer is running or not.My idea is like i will detect any previous running timer and will delete it and then will re-create the timer with new time value.
I am using timer_create(),timer_settime() for timer creation and timer starting.
Thanks&Regards
Amit Kumar

From the man page:
(If the timer was already armed, then the previous settings are overwritten.)
Seems like the function already does what you are looking for.

Related

FreeRTOS how to change the callback function of a software timer

I'm using the software timer API from FreeRTOS to create a timer
xTimer = xTimerCreate("Timer", 100, 0, (void *) 0, vTimerCallback0);
Is there a way to change to callback of the timer to another function?
Another way to do it could be that the callback that you register when the timer gets created (vTimerCallback0) calls one from a set of other functions after some decision making in your code. It depends on what exactly you are trying to do.
I don't think there is one - the software timer API is here - https://www.freertos.org/FreeRTOS-Software-Timer-API-Functions.html . Curiously nobody has ever requested that before but I can add a function to do it easily enough - if you subscribe to check-in notifications you will see when it gets added.

How do i create a timer in Outsystem?

I am unfamiliar with Outsystem as I was very recently and I want to create a basic timer that counts up. The problem is that i'm not sure what to call to allow the program to execute 1 second in real time. I am planning to use a for or if-else loop to create a basic timer for my program.
There is a built-in function in Outsystems where you can add seconds, AddSeconds().
See this documentation: https://success.outsystems.com/Documentation/10/Reference/Logic/Built-in_Functions/Date_and_Time_Built-in_Functions
With using local variables and Ajax Refresh you will come far by creating a timer.

Call back function to be called whenever hardware timer elapses a specified elapse time in STM32F101

Hi I want to toggle LED with timing as follows
100ms ON1, 250ms Off1
1250ms ON2, 1500ms off2
and this cycle gets repeated (Both ON1 off1 and ON2 off2 pair repeats)
For this I have planned to utilize hardware timer with elapsing timings as 100,250,1250 and 1500 and this will repeat.
I am pretty new to the embedded field,
My questions are as follows
How to trigger this using a hardware timer? (How to enable and alternate the timings dynamically?)
How to set a call back function that toggles LED based on the timer elapse ?
Note : This is not a standalone code but an application will
Be running .From OS the callback will be triggered in the background so that other normal application is not affected during this process
Use the OS's software timer service. Create four software timers with the specified periods. The timers should be configured to count once and then stop each time they are started (i.e., they should be "one-shot", not "auto-reloading" nor "continuous" or whatever terminology your OS uses). Each software timer will have a unique callback function that you specify when you create the software timer.
From main, or wherever is appropriate, start the first timer once to get things started. Then start the second timer from the first timer's callback function. And start the third timer from the second timer's callback function. And so on until the last timer's callback function restarts the first timer and the circle of timers repeats.
Use timer interrupt for it.
You have the ready example here:
https://www.diymat.co.uk/arm-blinking-led-driver/
It does what you need and a bit more as well :)

Finding created pthread timer is active or not

I have created many timers in my running application.
At a certain point, I want to check whether a previously created timer is active or not.
pthread_create - creating the timer
timer_settime - starting the timer (recursive timer)
Now somewhere in the application and using the timer id, I will want to check whether that timer is active or not.
Is there an API to do this? If not, How can I do this?
Possible way I was thinking:
-Issue two consecutive timer_gettime() and see if there is any change for the given timer id.
-If there is change, I will consider that as an active timer.

need timerStartDate of timer and timerconfig ejb3.0

I have a TimerConfig and a Timer Object and use EJB 3.0. All works well, but "onTimeout" I want to get the information, when the timer was initialized. I cannot find a method such as timerStartDate.
Should I use timerConfig.setInfo and put the date when timer is initialized? Is this the only way?
Yes, if you want to know when createTimer was called, then you'll have to store it in setInfo. There is no builtin mechanism.

Resources