Choco OS  V.0.16.9.0
Join to the chocolate world
Machine specific functions module

Macros

#define oC_Machine_DmaSignalType_(NAME)
 returns name of DMA signal type for oC_Machine_DmaSignalType_t type
 
#define oC_Machine_DmaChannelAssignment_(DMA_CHANNEL_NAME, CHANNEL_NAME, SIGNAL_TYPE, TYPE, ENC, ...)
 returns name of DMA channel assignments for oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignmentIndex_(DMA_CHANNEL_NAME, CHANNEL_NAME, SIGNAL_TYPE, TYPE, ENC, ...)
 returns index of DMA channel assignments
 
#define oC_Machine_RegisterIndirectDynamic(BaseAddress, RegisterOffset)
 allows for accessing registers in dynamic mode More...
 
#define oC_Machine_RegisterIndirectStaticOffset(BaseAddress, REGISTER_NAME)
 allows for accessing registers using register offset name More...
 
#define oC_Machine_RegisterIndirectStatic(BASE_NAME, REGISTER_NAME)
 allows for accessing registers using register offset name and base address name More...
 
#define oC_Machine_Register(Channel, REGISTER_NAME)
 allows for accessing registers using channel and offset name More...
 
#define oC_Machine_GetRegisterAddress(Channel, REGISTER_NAME)
 returns register address according to the channel and register name More...
 
#define oC_Machine_IsRegisterWritable(REGISTER_NAME)
 checks if register is writable More...
 
#define oC_Machine_IsRegisterReadable(REGISTER_NAME)
 checks if register is readable More...
 
#define oC_Machine_WriteRegisterDirectStaticOffset(Channel, REGISTER_NAME, Value)
 macro for writing registers by using register name More...
 
#define oC_Machine_WriteRegister(Channel, REGISTER_NAME, Value)
 redefinition of oC_Machine_WriteRegisterDirectStaticOffset
 
#define oC_Machine_ReadRegisterDirectStaticOffset(Channel, REGISTER_NAME)
 allows read register by using register name More...
 
#define oC_Machine_ReadRegister(Channel, REGISTER_NAME)
 redefinition of oC_Machine_ReadRegisterDirectStaticOffset
 
#define oC_Machine_DmaSignalTypeMask
 mask with all bit set for oC_Machine_DmaSignalType_t type
 
#define oC_Machine_DmaEncodingValueMask
 mask for oC_Machine_DmaEncodingValue_t type
 
#define oC_Machine_DmaChannelAssignment_DmaChannelMaskWidth
 width of DMA channel field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_ChannelMaskWidth
 width of channel field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaSignalTypeMaskWidth
 width of DMA Signal Type field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaEncodingValueMaskWidth
 width of DMA encoding value field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_MaskWidth
 width of #oC_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaChannelMaskStartBit
 start bit for DMA channel field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_ChannelMaskStartBit
 start bit for channel field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaSignalTypeMaskStartBit
 start bit for DMA signal type field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaEncodingValueMaskStartBit
 start bit for DMA encoding value field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaChannelMask
 mask for DMA channel field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_ChannelMask
 mask for channel field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaSignalTypeMask
 mask for DMA signal type field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_DmaEncodingValueMask
 mask for DMA encoding value field in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignmentMask
 mask for all bits set in oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_GetDmaChannel(Assignment)
 returns DMA channel from oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_GetChannel(Assignment)
 returns channel from oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_GetDmaSignalType(Assignment)
 returns DMA signal type from oC_Machine_DmaChannelAssignment_t type
 
#define oC_Machine_DmaChannelAssignment_GetDmaEncodingValue(Assignment)
 returns DMA encoding value from oC_Machine_DmaChannelAssignment_t type
 

Typedefs

typedef uint8_t oC_Machine_DmaEncodingValue_t
 type for storing DMA encoding value
 

Enumerations

Functions

static bool oC_Machine_IsPowerRegisterSet (oC_Channel_t Channel)
 checks if power for channel is turn on More...
 
static oC_Power_t oC_Machine_GetPowerStateForChannel (oC_Channel_t Channel)
 returns power state for channel More...
 
static bool oC_Machine_SetPowerStateForChannel (oC_Channel_t Channel, oC_Power_t Power)
 configures power state for machine channel More...
 
static bool oC_Machine_IsChannelPoweredOn (oC_Channel_t Channel)
 checks if channel is powered on More...
 
static const char * oC_Machine_GetChannelName (oC_Channel_t Channel)
 returns printable name of channel More...
 
static bool oC_Machine_WriteRegisterDirectDynamic (oC_Channel_t Channel, oC_RegisterOffset_t RegisterOffset, oC_Register_t Value)
 writes machine register More...
 
static oC_Register_t oC_Machine_ReadRegisterDirectDynamic (oC_Channel_t Channel, oC_RegisterOffset_t RegisterOffset)
 reads machine register More...
 

Detailed Description

Macro Definition Documentation

#define oC_Machine_GetRegisterAddress (   Channel,
  REGISTER_NAME 
)

Example of usage:

oC_UART_Channel_t channel = oC_Channel_UART0;
void * registerAddress = oC_Machine_GetRegisterAddress(channel,UART_DR);

Definition at line 146 of file oc_machine.h.

#define oC_Machine_IsRegisterReadable (   REGISTER_NAME)

The macro is for checking if register with the given name is possible for read. Example:

{
printf("UARTDR register is readable\n\r");
}

Definition at line 177 of file oc_machine.h.

#define oC_Machine_IsRegisterWritable (   REGISTER_NAME)

The macro is for checking if register with the given name is possible for write. Example:

{
printf("UARTDR register is writable\n\r");
}

Definition at line 162 of file oc_machine.h.

#define oC_Machine_ReadRegisterDirectStaticOffset (   Channel,
  REGISTER_NAME 
)

The macro is for reading register using REGISTER NAME

Example of usage:

oC_UInt_t value = oC_Machine_ReadRegisterDirectStaticOffset(oC_Channel_UART0 , UARTDR);

Definition at line 214 of file oc_machine.h.

#define oC_Machine_Register (   Channel,
  REGISTER_NAME 
)

The macro is for accessing registers using channel and register name. Example of usage:

oC_Channel_t channel = oC_Channel_UART0;
oC_Machine_Register(channel,UARTDR)->Value = 0;

Definition at line 132 of file oc_machine.h.

#define oC_Machine_RegisterIndirectDynamic (   BaseAddress,
  RegisterOffset 
)

The macro is for accessing registers in full dynamic mode (base address and register offset is given as variable). Example of usage:

oC_Channel_t channel = oC_Channel_UART0;
oC_Machine_RegisterIndirectDynamic(baseAddress,offset) = 0;

Definition at line 91 of file oc_machine.h.

#define oC_Machine_RegisterIndirectStatic (   BASE_NAME,
  REGISTER_NAME 
)

The macro is for accessing registers by register offset name and base address name. Example of usage:

oC_Machine_RegisterIndirectStatic(UART0,UARTDR)->Value = 0;

Definition at line 118 of file oc_machine.h.

#define oC_Machine_RegisterIndirectStaticOffset (   BaseAddress,
  REGISTER_NAME 
)

The macro is for accessing registers by register offset name. Example of usage:

oC_Channel_t channel = oC_Channel_UART0;
oC_Machine_RegisterIndirectStaticOffset(baseAddress,UARTDR)->Value = 0;

Definition at line 106 of file oc_machine.h.

#define oC_Machine_WriteRegisterDirectStaticOffset (   Channel,
  REGISTER_NAME,
  Value 
)

The macro allows to write machine register that is given as REGISTER_NAME.

Example of usage:

oC_Channel_t channel = oC_Channel_UART0;

Definition at line 193 of file oc_machine.h.

Enumeration Type Documentation

The type stores all informations about DMA channel assignments.

Definition at line 448 of file oc_machine.h.

The type stores types of signals for DMA channels.

Definition at line 429 of file oc_machine.h.

Function Documentation

static const char* oC_Machine_GetChannelName ( oC_Channel_t  Channel)
inlinestatic

The function returns string with name of channel.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
Returns
string with name of channel

Definition at line 657 of file oc_machine.h.

static oC_Power_t oC_Machine_GetPowerStateForChannel ( oC_Channel_t  Channel)
inlinestatic

The function returns current state of power for machine channel.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
Returns
power state for channel

Definition at line 550 of file oc_machine.h.

static bool oC_Machine_IsChannelPoweredOn ( oC_Channel_t  Channel)
inlinestatic

The function is for checking if the given machine channel is powered on.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
Returns
true if channel is powered on

Definition at line 640 of file oc_machine.h.

static bool oC_Machine_IsPowerRegisterSet ( oC_Channel_t  Channel)
inlinestatic

The function checks if power for channel is turned on.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
Returns
true if power is turned on and channel can be used

Definition at line 532 of file oc_machine.h.

static oC_Register_t oC_Machine_ReadRegisterDirectDynamic ( oC_Channel_t  Channel,
oC_RegisterOffset_t  RegisterOffset 
)
inlinestatic

The function reads register that is given as channel (base address) and register offset.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
RegisterOffsetOffset from a base address defined in oc_registers_defs.h
Returns
value from register

Definition at line 713 of file oc_machine.h.

static bool oC_Machine_SetPowerStateForChannel ( oC_Channel_t  Channel,
oC_Power_t  Power 
)
inlinestatic

The function sets power state for channel. Note, that it only enable power for the given channel. If the register map of power register also should be powered on, you must do it by yourself earlier. Otherwise there will be hard fault.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
Powerstate of power to set (oC_Power_On or oC_Power_Off)
Returns
true if success

Definition at line 593 of file oc_machine.h.

static bool oC_Machine_WriteRegisterDirectDynamic ( oC_Channel_t  Channel,
oC_RegisterOffset_t  RegisterOffset,
oC_Register_t  Value 
)
inlinestatic

The function writes register that is given as channel (base address) and register offset.

Parameters
Channelmachine channel defined in the oc_channels_defs.h file.
RegisterOffsetOffset from a base address defined in oc_registers_defs.h
ValueValue to write
Returns
true if success

Definition at line 675 of file oc_machine.h.