123
Fork of LG by
DeviceController.h@182:2bd8ec44998f, 2016-07-10 (annotated)
- Committer:
- Diletant
- Date:
- Sun Jul 10 05:35:08 2016 +0000
- Revision:
- 182:2bd8ec44998f
- Parent:
- 173:7f938afb0447
Device & ... update. More AskGld & Techno functionality. Not final!!!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Diletant | 156:e68ee0bcdcda | 1 | #ifndef __DEVICE_CONTROLLER_H__ |
Diletant | 156:e68ee0bcdcda | 2 | #define __DEVICE_CONTROLLER_H__ |
Diletant | 156:e68ee0bcdcda | 3 | |
Diletant | 156:e68ee0bcdcda | 4 | #include "DeviceFlash.h" |
Diletant | 156:e68ee0bcdcda | 5 | #include "DeviceSSP.h" |
Diletant | 156:e68ee0bcdcda | 6 | #include "DeviceI2C.h" |
Diletant | 156:e68ee0bcdcda | 7 | #include "DeviceQEI.h" |
Diletant | 156:e68ee0bcdcda | 8 | #include "DeviceServicePort.h" |
Diletant | 161:efd949e8d536 | 9 | #include "DeviceUserPort.h" |
Diletant | 156:e68ee0bcdcda | 10 | #include "DeviceTimers.h" |
Diletant | 156:e68ee0bcdcda | 11 | |
Diletant | 156:e68ee0bcdcda | 12 | typedef struct _DeviceUARTSettings { |
Diletant | 156:e68ee0bcdcda | 13 | } DeviceUARTSettings; |
Diletant | 156:e68ee0bcdcda | 14 | |
Diletant | 156:e68ee0bcdcda | 15 | typedef struct _DeviceUARTState { |
Diletant | 156:e68ee0bcdcda | 16 | //Line Control Register. Contains controls for frame formatting and break generation. |
Diletant | 156:e68ee0bcdcda | 17 | uint8_t LCR; |
Diletant | 156:e68ee0bcdcda | 18 | |
Diletant | 156:e68ee0bcdcda | 19 | //Divisor Latch MSB. Most significant byte of the baud rate divisor value. |
Diletant | 156:e68ee0bcdcda | 20 | //The full divisor is used to generate a baud rate from the fractional rate divider. |
Diletant | 156:e68ee0bcdcda | 21 | //When DLAB = 1 |
Diletant | 156:e68ee0bcdcda | 22 | uint8_t DLM; |
Diletant | 156:e68ee0bcdcda | 23 | |
Diletant | 156:e68ee0bcdcda | 24 | //Divisor Latch LSB. Least significant byte of the baud rate divisor value. |
Diletant | 156:e68ee0bcdcda | 25 | //The full divisor is used to generate a baud rate from the fractional rate divider. |
Diletant | 156:e68ee0bcdcda | 26 | //When DLAB = 1 |
Diletant | 156:e68ee0bcdcda | 27 | uint8_t DLL; |
Diletant | 156:e68ee0bcdcda | 28 | |
Diletant | 156:e68ee0bcdcda | 29 | //FIFO Control Register. Controls FIFO usage and modes. |
Diletant | 156:e68ee0bcdcda | 30 | uint8_t FCR; |
Diletant | 156:e68ee0bcdcda | 31 | } DeviceUARTState; |
Diletant | 156:e68ee0bcdcda | 32 | |
Diletant | 156:e68ee0bcdcda | 33 | typedef struct _DeviceUART { |
Diletant | 156:e68ee0bcdcda | 34 | DeviceUARTSettings settings; |
Diletant | 156:e68ee0bcdcda | 35 | DeviceUARTState state; |
Diletant | 156:e68ee0bcdcda | 36 | } DeviceUART; |
Diletant | 156:e68ee0bcdcda | 37 | |
Diletant | 161:efd949e8d536 | 38 | typedef struct _DeviceController { |
Diletant | 156:e68ee0bcdcda | 39 | uint32_t chip; |
Diletant | 156:e68ee0bcdcda | 40 | DeviceFlash flash; |
Diletant | 156:e68ee0bcdcda | 41 | DeviceSSP SSP; |
Diletant | 156:e68ee0bcdcda | 42 | DeviceI2C I2C; |
Diletant | 156:e68ee0bcdcda | 43 | DeviceQEI QEI; |
Diletant | 156:e68ee0bcdcda | 44 | DeviceTimer timer[2]; |
Diletant | 156:e68ee0bcdcda | 45 | DeviceUART uart[2]; |
Diletant | 156:e68ee0bcdcda | 46 | } DeviceController; |
Diletant | 156:e68ee0bcdcda | 47 | |
Diletant | 173:7f938afb0447 | 48 | void SystemInit1(void); |
Diletant | 173:7f938afb0447 | 49 | void SystemCoreClockUpdate1(void); |
Diletant | 173:7f938afb0447 | 50 | |
Diletant | 167:bedc0a9d559a | 51 | void InitControllerDefaultSettings(void); |
Diletant | 167:bedc0a9d559a | 52 | void InitControllerState(void); |
Diletant | 167:bedc0a9d559a | 53 | void DeviceStartController(void); |
Diletant | 156:e68ee0bcdcda | 54 | |
Diletant | 156:e68ee0bcdcda | 55 | #endif /* __DEVICE_CONTROLLER_H__ */ |