On Thu, Dec 24, 2020, 2:20 PM Mattia Bottaro <mattiabotta...@gmail.com> wrote:
> Hello Joe Sherrill and thank you for the quick response. > > I'm not sure I understand correctly what you said. According to this > example (< > https://github.com/RTEMS/rtems-examples/blob/master/classic_api/triple_period/tasks.c#L70>), > "'ticks' is don't care ( = does not work);". What should I infer from > this comment? > I've also checked *rtems_task_wake_after*, but it is not what I'm > looking for: I need something semantically similar to Ada's *delay until, > *so *not *a *delay. *That's why neither *clock_nanospleep *is suitable > for my purposes. > Look at the Rate Monotonic Manager in the Classic API for a nice API for periodic activities. The clock_nanosleep method has an argument for absolute or relative time. Combine that with using CLOCK_REALTIME or CLOCK_MONOTONIC for delays until wall times or a relative time in the future. > Il giorno gio 24 dic 2020 alle ore 18:31 Joel Sherrill <j...@rtems.org> > ha scritto: > >> You missed all the directives that use ticks in the Classic API. There is >> rtems_task_wake_after for one. Almost every service that had a delay or >> timeout is in ticks. The length of a tick is configurable in microseconds. >> >> POSIX has different services and specifies time intervals and delays >> differently. See clock_nanosleep for an example where you can even pick the >> clock source. >> >> --joel >> >> On Thu, Dec 24, 2020, 5:13 AM Karel Gardas <karel.gar...@centrum.cz> >> wrote: >> >>> >>> I'd try to use POSIX API and POSIX timers. Look into testsuites/psx* >>> tests. >>> >>> Cheers, >>> Karel >>> >>> On 12/24/20 11:24 AM, Mattia Bottaro wrote: >>> > Hi everyone, newbie RTEMS here. >>> > >>> > I need to develop a multitasking real-time application with RTEMS >>> > (preferably in Ada, but also C solutions are welcomed). I see that I >>> can >>> > use the Classic API >>> > <https://docs.rtems.org/branches/master/c-user/index.html>, but they >>> are >>> > unsuitable to my purposes. As you can read here >>> > < >>> https://docs.rtems.org/branches/master/c-user/task/directives.html#task-wake-when-wake-up-when-specified >>> >, >>> > the rtems_task_wake_when directive is too coarse: "The timing >>> > granularity of this directive is a second.". >>> > I need to work with microseconds-granularity and I cannot find how to >>> do it. >>> > >>> > Thanks in advance. >>> > >>> > _______________________________________________ >>> > users mailing list >>> > users@rtems.org >>> > http://lists.rtems.org/mailman/listinfo/users >>> > >>> >>> _______________________________________________ >>> users mailing list >>> users@rtems.org >>> http://lists.rtems.org/mailman/listinfo/users >> >>
_______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users