FreeRTOS Emulator with SDL2 Based Graphics and Input Library  1.0
A POSIX wrapper to run FreeRTOS on an x86 machine with some basic input and output libraries aimed at making teaching FreeRTOS simpler.
buttons.h File Reference

A simple implementation of managing a global lookup table containins button press status information. More...

#include <SDL2/SDL_scancode.h>
#include "FreeRTOS.h"
#include "semphr.h"

Go to the source code of this file.

Classes

struct  buttons_buffer
 Structure containing a loopup table containing all the keyboards' buttons states and a lock for accessing said table. More...
 

Macros

#define KEYCODE(CHAR)   SDL_SCANCODE_##CHAR
 

Typedefs

typedef struct buttons_buffer buttons_buffer_t
 Structure containing a loopup table containing all the keyboards' buttons states and a lock for accessing said table. More...
 

Functions

void vGetButtonInput (void)
 Recieves a fresh copy of the buttons lookup table from the backend SDL events library. More...
 
int xButtonsInit (void)
 Initializes the buttons structure that holds the user's actual copy of the buttons lookup table. More...
 
void vButtonsExit (void)
 Deinitializes the buttons structure that holds the user's actual copy of the buttons lookup table. More...
 

Variables

buttons_buffer_t buttons
 

Detailed Description

A simple implementation of managing a global lookup table containins button press status information.

Author
Alex Hoffman
Date
23 January 2023
----------------------------------------------------------------------
Copyright (C) Alexander Hoffman, 2023
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
----------------------------------------------------------------------

Macro Definition Documentation

◆ KEYCODE

#define KEYCODE (   CHAR)    SDL_SCANCODE_##CHAR

Typedef Documentation

◆ buttons_buffer_t

Structure containing a loopup table containing all the keyboards' buttons states and a lock for accessing said table.

Function Documentation

◆ vButtonsExit()

void vButtonsExit ( void  )

Deinitializes the buttons structure that holds the user's actual copy of the buttons lookup table.

◆ vGetButtonInput()

void vGetButtonInput ( void  )

Recieves a fresh copy of the buttons lookup table from the backend SDL events library.

◆ xButtonsInit()

int xButtonsInit ( void  )

Initializes the buttons structure that holds the user's actual copy of the buttons lookup table.

Returns
0 on success

Variable Documentation

◆ buttons

buttons_buffer_t buttons
extern