Choco OS  V.0.16.9.0
Join to the chocolate world
oc_clock_lld.h
Go to the documentation of this file.
1 
49 #ifndef INC_LLD_OC_CLOCK_LLD_H_
50 #define INC_LLD_OC_CLOCK_LLD_H_
51 
52 #include <oc_machine.h>
53 #include <oc_frequency.h>
54 #include <oc_errors.h>
55 #include <stdbool.h>
56 
62 #define _________________________________________TYPES_SECTION______________________________________________________________________________
63 
66 //==========================================================================================================================================
72 //==========================================================================================================================================
73 typedef enum
74 {
78 
79 //==========================================================================================================================================
87 //==========================================================================================================================================
88 typedef void (*oC_CLOCK_LLD_Interrupt_t)( oC_Frequency_t Frequency );
89 
90 #undef _________________________________________TYPES_SECTION______________________________________________________________________________
91 
98 #define _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
99 
102 
103 //==========================================================================================================================================
112 //==========================================================================================================================================
113 extern oC_ErrorCode_t oC_CLOCK_LLD_TurnOnDriver( void );
114 //==========================================================================================================================================
124 //==========================================================================================================================================
125 extern oC_ErrorCode_t oC_CLOCK_LLD_TurnOffDriver( void );
126 
127 //==========================================================================================================================================
135 //==========================================================================================================================================
137 
138 //==========================================================================================================================================
146 //==========================================================================================================================================
148 
149 //==========================================================================================================================================
155 //==========================================================================================================================================
157 
158 //==========================================================================================================================================
164 //==========================================================================================================================================
166 
167 //==========================================================================================================================================
181 //==========================================================================================================================================
182 extern oC_ErrorCode_t oC_CLOCK_LLD_SetClockConfiguredInterrupt( oC_CLOCK_LLD_Interrupt_t Interrupt );
183 
184 //==========================================================================================================================================
199 //==========================================================================================================================================
200 extern bool oC_CLOCK_LLD_DelayForMicroseconds( oC_UInt_t Microseconds );
201 
202 //==========================================================================================================================================
213 //==========================================================================================================================================
214 extern oC_ErrorCode_t oC_CLOCK_LLD_ConfigureInternalClock( oC_Frequency_t TargetFrequency , oC_Frequency_t PermissibleDifference );
215 
216 //==========================================================================================================================================
226 //==========================================================================================================================================
227 extern oC_ErrorCode_t oC_CLOCK_LLD_ConfigureExternalClock( oC_Frequency_t TargetFrequency , oC_Frequency_t PermissibleDifference , oC_Frequency_t OscillatorFrequency );
228 
229 //==========================================================================================================================================
239 //==========================================================================================================================================
240 extern oC_ErrorCode_t oC_CLOCK_LLD_ConfigureHibernationClock( oC_Frequency_t TargetFrequency , oC_Frequency_t PermissibleDifference , oC_Frequency_t OscillatorFrequency );
241 
242 #undef _________________________________________FUNCTIONS_SECTION__________________________________________________________________________
243 
245 #endif /* INC_LLD_OC_CLOCK_LLD_H_ */
oC_ErrorCode_t oC_CLOCK_LLD_TurnOffDriver(void)
release the driver
Definition: oc_clock_lld.c:197
The file with frequency definitions.
double oC_Frequency_t
type to store frequency
Definition: oc_frequency.h:76
oC_ErrorCode_t oC_CLOCK_LLD_SetClockConfiguredInterrupt(oC_CLOCK_LLD_Interrupt_t Interrupt)
configures an interrupt for clock configured event
Definition: oc_clock_lld.c:270
oC_CLOCK_LLD_ClockSource_t oC_CLOCK_LLD_GetClockSource(void)
returns source of the system clock
Definition: oc_clock_lld.c:226
oC_CLOCK_LLD_ClockSource_t
type for storing source of the system clock
Definition: oc_clock_lld.h:73
oC_Frequency_t oC_CLOCK_LLD_GetMaximumClockFrequency(void)
returns maximum frequency permissible for the machine
Definition: oc_clock_lld.c:259
oC_ErrorCode_t oC_CLOCK_LLD_ConfigureInternalClock(oC_Frequency_t TargetFrequency, oC_Frequency_t PermissibleDifference)
configures system clock in internal mode
Definition: oc_clock_lld.c:312
an external source of the clock is used
Definition: oc_clock_lld.h:76
an internal clock source is used
Definition: oc_clock_lld.h:75
oC_Frequency_t oC_CLOCK_LLD_GetClockFrequency(void)
returns frequency of the system clock
Definition: oc_clock_lld.c:237
oC_ErrorCode_t oC_CLOCK_LLD_TurnOnDriver(void)
initializes the driver to work
Definition: oc_clock_lld.c:160
oC_ErrorCode_t oC_CLOCK_LLD_ConfigureExternalClock(oC_Frequency_t TargetFrequency, oC_Frequency_t PermissibleDifference, oC_Frequency_t OscillatorFrequency)
configures system clock to work in external mode
Definition: oc_clock_lld.c:405
oC_ErrorCode_t oC_CLOCK_LLD_ConfigureHibernationClock(oC_Frequency_t TargetFrequency, oC_Frequency_t PermissibleDifference, oC_Frequency_t OscillatorFrequency)
configures system clock to work in hibernation mode
Definition: oc_clock_lld.c:510
The file with interface for the machine module.
void(* oC_CLOCK_LLD_Interrupt_t)(oC_Frequency_t Frequency)
type for storing interrupts pointers
Definition: oc_clock_lld.h:88
bool oC_CLOCK_LLD_DelayForMicroseconds(oC_UInt_t Microseconds)
perform a delay for us
Definition: oc_clock_lld.c:297
oC_Frequency_t oC_CLOCK_LLD_GetOscillatorFrequency(void)
returns frequency of the oscillator
Definition: oc_clock_lld.c:248