Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Utilizing Both RoboRIO Cores (http://www.chiefdelphi.com/forums/showthread.php?t=132692)

matan129 13-01-2015 11:23

Re: Utilizing Both RoboRIO Cores
 
Quote:

Originally Posted by SquishyIce (Post 1426913)
I can't seem to find the task class in my WPILib API. Could it be under a different name? Also, how exactly would I create a new thread and populate it with instructions/commands? Sorry, I'm entirely new to this concept and pretty much have no clue what I'm doing.

I'm on my laptop and I don't have the 2015 WPILib there, but in 2014's there's a task class.
https://github.com/Talos4757/wpilib/blob/master/Task.h
https://github.com/Talos4757/wpilib/...aster/Task.cpp

It uses the VxWorks TaskLib (which is probably POSIX compatible). I think that thhis year they use POSIX threads since the RoboRIO runs Linux (with RT extensions).

wireties 13-01-2015 18:41

Re: Utilizing Both RoboRIO Cores
 
The vxWorks taskLib is the native interface for creating and manipulating new tasks - it is not POSIX. But VxWorks has a POSIX compatible library if it was included - I do not remember if it was or not.

The POSIX call to create a new thread is pthread_create and you can associate the thread with a particular core using sched_setaffinity (after the thread is running) or with pthread_setaffinity_np (to setup thread attributes before the thread is started).

Whether you should or not depends on the toplogy of your application. Remember that switching from one thread to another running on a different core can be as time consuming as switching between threads that are part of different processes.


All times are GMT -5. The time now is 22:19.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi