WPILibC++ 2023.4.3-108-ge5452e3
Main loop functions

Functions

void HAL_SetMain (void *param, void(*mainFunc)(void *), void(*exitFunc)(void *))
 Sets up the system to run the provided main loop in the main thread (e.g. More...
 
HAL_Bool HAL_HasMain (void)
 Returns true if HAL_SetMain() has been called. More...
 
void HAL_RunMain (void)
 Runs the main function provided to HAL_SetMain(). More...
 
void HAL_ExitMain (void)
 Causes HAL_RunMain() to exit. More...
 

Detailed Description

Function Documentation

◆ HAL_ExitMain()

void HAL_ExitMain ( void  )

Causes HAL_RunMain() to exit.

If HAL_SetMain() has been called, this calls the exit function provided to that function.

◆ HAL_HasMain()

HAL_Bool HAL_HasMain ( void  )

Returns true if HAL_SetMain() has been called.

Returns
True if HAL_SetMain() has been called, false otherwise.

◆ HAL_RunMain()

void HAL_RunMain ( void  )

Runs the main function provided to HAL_SetMain().

If HAL_SetMain() has not been called, simply sleeps until HAL_ExitMain() is called.

◆ HAL_SetMain()

void HAL_SetMain ( void *  param,
void(*)(void *)  mainFunc,
void(*)(void *)  exitFunc 
)

Sets up the system to run the provided main loop in the main thread (e.g.

the thread in which main() starts execution) and run the robot code in a separate thread.

Normally the robot code runs in the main thread, but some GUI systems require the GUI be run in the main thread.

To be effective, this function must be called before the robot code starts the main loop (e.g. by frc::StartRobot()).

Parameters
paramparameter data to pass to mainFunc and exitFunc
mainFuncthe function to be run when HAL_RunMain() is called.
exitFuncthe function to be run when HAL_ExitMain() is called.