123
Fork of LG by
DeviceController.h@156:e68ee0bcdcda, 2016-05-09 (annotated)
- Committer:
- Diletant
- Date:
- Mon May 09 20:03:26 2016 +0000
- Revision:
- 156:e68ee0bcdcda
- Child:
- 161:efd949e8d536
Device & ... update. 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 | 156:e68ee0bcdcda | 9 | #include "DeviceHostPort.h" |
Diletant | 156:e68ee0bcdcda | 10 | //#include "DeviceDAC.h" |
Diletant | 156:e68ee0bcdcda | 11 | #include "DeviceTimers.h" |
Diletant | 156:e68ee0bcdcda | 12 | |
Diletant | 156:e68ee0bcdcda | 13 | typedef struct _DeviceUARTSettings { |
Diletant | 156:e68ee0bcdcda | 14 | uint32_t baudRate; |
Diletant | 156:e68ee0bcdcda | 15 | } DeviceUARTSettings; |
Diletant | 156:e68ee0bcdcda | 16 | |
Diletant | 156:e68ee0bcdcda | 17 | typedef struct _DeviceUARTState { |
Diletant | 156:e68ee0bcdcda | 18 | //Line Control Register. Contains controls for frame formatting and break generation. |
Diletant | 156:e68ee0bcdcda | 19 | uint8_t LCR; |
Diletant | 156:e68ee0bcdcda | 20 | |
Diletant | 156:e68ee0bcdcda | 21 | //Divisor Latch MSB. Most significant byte of the baud rate divisor value. |
Diletant | 156:e68ee0bcdcda | 22 | //The full divisor is used to generate a baud rate from the fractional rate divider. |
Diletant | 156:e68ee0bcdcda | 23 | //When DLAB = 1 |
Diletant | 156:e68ee0bcdcda | 24 | uint8_t DLM; |
Diletant | 156:e68ee0bcdcda | 25 | |
Diletant | 156:e68ee0bcdcda | 26 | //Divisor Latch LSB. Least significant byte of the baud rate divisor value. |
Diletant | 156:e68ee0bcdcda | 27 | //The full divisor is used to generate a baud rate from the fractional rate divider. |
Diletant | 156:e68ee0bcdcda | 28 | //When DLAB = 1 |
Diletant | 156:e68ee0bcdcda | 29 | uint8_t DLL; |
Diletant | 156:e68ee0bcdcda | 30 | |
Diletant | 156:e68ee0bcdcda | 31 | //FIFO Control Register. Controls FIFO usage and modes. |
Diletant | 156:e68ee0bcdcda | 32 | uint8_t FCR; |
Diletant | 156:e68ee0bcdcda | 33 | } DeviceUARTState; |
Diletant | 156:e68ee0bcdcda | 34 | |
Diletant | 156:e68ee0bcdcda | 35 | typedef struct _DeviceUART { |
Diletant | 156:e68ee0bcdcda | 36 | DeviceUARTSettings settings; |
Diletant | 156:e68ee0bcdcda | 37 | DeviceUARTState state; |
Diletant | 156:e68ee0bcdcda | 38 | } DeviceUART; |
Diletant | 156:e68ee0bcdcda | 39 | |
Diletant | 156:e68ee0bcdcda | 40 | typedef struct _DeviceControllerSettings { |
Diletant | 156:e68ee0bcdcda | 41 | uint32_t chip; |
Diletant | 156:e68ee0bcdcda | 42 | } DeviceControllerSettings; |
Diletant | 156:e68ee0bcdcda | 43 | |
Diletant | 156:e68ee0bcdcda | 44 | typedef struct _DeviceControllerState { |
Diletant | 156:e68ee0bcdcda | 45 | } DeviceControllerState; |
Diletant | 156:e68ee0bcdcda | 46 | |
Diletant | 156:e68ee0bcdcda | 47 | typedef struct _DeviceController { |
Diletant | 156:e68ee0bcdcda | 48 | DeviceControllerSettings settings; |
Diletant | 156:e68ee0bcdcda | 49 | DeviceControllerState state; |
Diletant | 156:e68ee0bcdcda | 50 | DeviceFlash flash; |
Diletant | 156:e68ee0bcdcda | 51 | //DeviceDAC dac; |
Diletant | 156:e68ee0bcdcda | 52 | DeviceSSP SSP; |
Diletant | 156:e68ee0bcdcda | 53 | DeviceI2C I2C; |
Diletant | 156:e68ee0bcdcda | 54 | DeviceQEI QEI; |
Diletant | 156:e68ee0bcdcda | 55 | DeviceTimer timer[2]; |
Diletant | 156:e68ee0bcdcda | 56 | DeviceUART uart[2]; |
Diletant | 156:e68ee0bcdcda | 57 | } DeviceController; |
Diletant | 156:e68ee0bcdcda | 58 | |
Diletant | 156:e68ee0bcdcda | 59 | void InitControllerWithDefaults(void); |
Diletant | 156:e68ee0bcdcda | 60 | void InitController(void); |
Diletant | 156:e68ee0bcdcda | 61 | |
Diletant | 156:e68ee0bcdcda | 62 | #endif /* __DEVICE_CONTROLLER_H__ */ |