|
Page date Tue Mar 8 23:38:17 2011 . | Improve this page |
The class OSCPU groups all CPU related calls and functionality. Here should be defined all CPU specifics, like
The OSCPUImpl class is a portability helper for the OSCPU class.
Here are defined the non-portable methods, specific to each architecture or family.
Without having any specific functionality, the OS class is a placeholder for all µOS++ related members and methods that did not find their way in other classes.
The non-portable methods are based on the OSImpl class, where the actual implementation is defined.
The OSImpl class is a portability helper for the OS class.
Here are defined the non-portable methods, specific to each architecture or family.
The OSScheduler class implements the main µOS++ functionality, i.e. the preemptive scheduler.
The non portable methods are based on the OSSchedulerImpl class, where the actual implementation is defined.
The OSSchedulerImpl class is a portability helper for the OSScheduler class.
Here are defined the non-portable methods, specific to each architecture or family.
The OSTask class is the parent class for all tasks running in the µOS++ environment.
The OSTaskIdle class is the implementation of the µOS++ idle task, i.e. the lowest priority task that gets control when no other task is running.
It has several functionalities:
The OSTimer class is the parent class of all system timer classes.
The OSTimerTicks class implements the main timer functionality in µOS++.
As the name implies, all timing intervals of this timer are expressed in ticks, more precisely in scheduler ticks.
The OSTimerSeconds class implements the second system timer functionality, intended to measure longer intervals.
As the name implies, all timing intervals of this timer are expressed in seconds.
For systems equipped with a Real Time Clock, this timer runs completely independently, even when the device is in sleep or deep sleep mode.
For systems not equipped with a RTC, this time is derived from the existing OSTimerTicks.
The Timer class is the parent class of all custom timer classes.
The OSMutex class implements a mutual exclusion (mutex) inter-task synchronisation mechanism.
The OSEventFlags class implements an inter-task synchronisation mechanism allowing a task to wait for multiple events, defined as separate flags in a structure.
The OSDeviceDebug class is the parent class of all debug classes used for displaying trace messages.
The DeviceDebugI2C class is the implementation of OSDeviceDebug where the output device is implemented as a master I2C using two generic IP pins via bit-banging.
The main advantage of such a mechanism is independence from processor speed and from specific hardware.
The OSDeviceCharacter class is the parent class of all character devices in µOS++. A character device is defined as a device having the transfer unit as low as one ASCII character.
Example of such devices are USART, CDC USB.
The OSDeviceCharacterBuffered class is derived from OSDeviceCharacter and implements circular buffers for RX and TX.
The OSDeviceCharacterBufferedBase class is derived from OSDeviceCharacterBuffered and contain generic implementation for all USART’s.
The OSDeviceCharacterBufferedUsart0 class is derived from OSDeviceCharacterBase and contain specific implementation for USART0.
The OSDeviceCharacterBufferedUsart1 class is derived from OSDeviceCharacterBase and contain specific implementation for USART1.
The OSTimerStruct_t type definition is used in OSTimer for storing the timeout set for a certain task.
The OSTimerTicks_t type definition is used in … (TBD)
The OSEventWaitReturn_t type definition is used in … (TBD)
The OSEvent_t type definition is used in … (TBD)
The OSEventFlagsBits_t type definition is used in OSEventFlags inter-task synchronization.
The class inheritance is depicted with multilevel bulleted lists:
ASCII
CircularBlockBuffer
CircularByteBuffer
Parser
SimpleCli