Choco OS  V.0.16.9.0
Join to the chocolate world
oc_sys_lld.h File Reference

The file with LLD interface for the SYS driver. More...

#include <oc_machine.h>
#include <oc_frequency.h>
#include <oc_errors.h>

Go to the source code of this file.

Typedefs

typedef void oC_SYS_LLD_Context_t
 type for storing context of the machine More...
 
typedef void(* oC_SYS_LLD_Interrupt_t) (void)
 type for storing interrupt pointers More...
 
typedef void(* oC_SYS_LLD_SysTickIncrementHandler_t) (void)
 stores SysTick interrupt handler More...
 
typedef void(* oC_SYS_LLD_EventInterrupt_t) (oC_SYS_LLD_EventFlags_t EventFlags, oC_SYS_LLD_Context_t *Context, void *BusAddress)
 stores event handler function More...
 
typedef void(* oC_SYS_LLD_ContextHandler_t) (void *Parameter)
 stores pointer to context handler function More...
 
typedef void(* oC_SYS_LLD_ContextExitHandler_t) (void)
 pointer to the context exit handler More...
 

Enumerations

Functions

oC_ErrorCode_t oC_SYS_LLD_TurnOnDriver (void)
 initializes the driver to work More...
 
oC_ErrorCode_t oC_SYS_LLD_TurnOffDriver (void)
 release the driver More...
 
oC_ErrorCode_t oC_SYS_LLD_SetEventInterruptHandler (oC_SYS_LLD_EventInterrupt_t EventHandler, oC_SYS_LLD_EventFlags_t EventsFlags)
 sets event interrupt handler More...
 
bool oC_SYS_LLD_IsMachineSupportMultithreadMode (void)
 checks if the machine supports multi-thread mode More...
 
void oC_SYS_LLD_TurnOnInterrupts (void)
 turns on interrupt More...
 
void oC_SYS_LLD_TurnOffInterrupts (void)
 turns off interrupt More...
 
void oC_SYS_LLD_EnterCriticalSection (void)
 enters to critical section More...
 
void oC_SYS_LLD_ExitCriticalSection (void)
 exits from critical section More...
 
bool oC_SYS_LLD_AreInterruptsEnabled (void)
 checks if interrupts are turned on More...
 
oC_ErrorCode_t oC_SYS_LLD_ConfigureSystemTimer (oC_Frequency_t Frequency, oC_SYS_LLD_SysTickIncrementHandler_t Interrupt)
 configures system timer More...
 
oC_ErrorCode_t oC_SYS_LLD_ReadSystemTimerFrequency (oC_Frequency_t *outFrequency)
 reads configured system frequency More...
 
oC_ErrorCode_t oC_SYS_LLD_SetNextContext (oC_SYS_LLD_Context_t *Context)
 configures next machine context More...
 
oC_Int_t oC_SYS_LLD_GetContextStackSize (oC_SYS_LLD_Context_t *Context)
 returns size of the stack for context More...
 
oC_Int_t oC_SYS_LLD_GetContextFreeStackSize (oC_SYS_LLD_Context_t *Context)
 returns size of free stack in the context More...
 
oC_ErrorCode_t oC_SYS_LLD_ReturnToSystemContext (void)
 switches to the system context More...
 
oC_SYS_LLD_Context_toC_SYS_LLD_GetCurrentContext (void)
 returns pointer to the current context More...
 
oC_SYS_LLD_Context_toC_SYS_LLD_GetSystemContext (void)
 returns pointer to the system context More...
 
oC_ErrorCode_t oC_SYS_LLD_InitializeContext (oC_SYS_LLD_Context_t **Context, oC_Int_t StackSize, oC_SYS_LLD_ContextHandler_t ContextHandler, void *Parameters, oC_SYS_LLD_ContextExitHandler_t ExitHandler)
 initializes stack of process More...
 
oC_Int_t oC_SYS_LLD_GetMinimumContextSize (oC_Int_t StackSize)
 returns minimum size to allocate for context More...
 
const char * oC_SYS_LLD_GetMachineName (void)
 returns printable name of the machine More...
 
const char * oC_SYS_LLD_GetMachineFamilyName (void)
 returns printable name of the machine family More...
 
const char * oC_SYS_LLD_GetMachineProducentName (void)
 returns printable name of the machine producent More...
 
void oC_SYS_LLD_Reset (void)
 software reset of the machine More...
 
bool oC_SYS_LLD_IsStackPushDecrementPointer (void)
 flag if stack push is decrement pointer More...
 
oC_ErrorCode_t oC_SYS_LLD_ReadPowerState (float *outVcc)
 reads power state More...
 
void * oC_SYS_LLD_GetLastProcessStackPointer (void)
 returns stack pointer of last executed process More...
 

Detailed Description


Author
Patryk Kubiak - (Created on: 26 04 2015 21:55:10)
Note
Copyright (C) 2015 Patryk Kubiak patry.nosp@m.k.ku.nosp@m.biak9.nosp@m.0@gm.nosp@m.ail.c.nosp@m.om
           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 2 of the License, or
           (at your option) 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, write to the Free Software
           Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

Definition in file oc_sys_lld.h.